## consts dir_lib := lib dir_source := source dir_temp := temp dir_build := build ## commands cmd_log := echo "--" cmd_mkdir := mkdir -p cmd_cp := cp cmd_cat := cat cmd_tsc := tsc --lib es2017 cmd_chmod := chmod ## rules all: node_modules ${dir_build}/wirc .PHONY: all node_modules: @ ${cmd_log} "copying node modules …" @ ${cmd_mkdir} ${dir_build}/node_modules @ ${cmd_cp} -ru ${dir_lib}/node/node_modules/* ${dir_build}/node_modules/ .PHONY: node_modules ${dir_build}/wirc: ${dir_temp}/head.js ${dir_lib}/plankton/plankton.js ${dir_temp}/wirc-unlinked.ts @ ${cmd_log} "linking …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_cat} $^ > $@ @ ${cmd_chmod} +x $@ ${dir_temp}/head.js: @ echo "#!/usr/bin/env node" > $@ ${dir_temp}/wirc-unlinked.ts: ${dir_lib}/plankton/plankton.d.ts ${dir_source}/main.ts @ ${cmd_log} "building …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_tsc} $^ --outFile $@