## commands

cmd_mkdir := mkdir -p
cmd_cp := cp -r -u
cmd_tsc := tsc
cmd_log := echo "--"
cmd_cat := cat
cmd_echo := echo
cmd_chmod := chmod


## rules

.PHONY: _default
_default: _root

temp/ivaldi-unlinked.js: \
	libs/plankton/plankton.d.ts \
	source/types.ts \
	source/helpers.ts \
	source/main.ts
	@ ${cmd_log} "compiling …"
	@ ${cmd_mkdir} temp
	@ ${cmd_tsc} $^ --lib es2020,dom --target es6 --outFile $@

build/ivaldi: libs/plankton/plankton.js temp/ivaldi-unlinked.js
	@ ${cmd_log} "linking …"
	@ ${cmd_echo} "#!/usr/bin/env node" > temp/head.js
	@ ${cmd_mkdir} build
	@ ${cmd_cat} temp/head.js $^ > $@
	@ ${cmd_chmod} +x $@

.PHONY: sources
sources: build/ivaldi

.PHONY: _root
_root: sources

