## vars dir_source := source dir_temp := temp dir_build := build ## commands cmd_mkdir := mkdir --parents cmd_log := echo "--" cmd_tsc := tsc cmd_chmod := chmod cmd_echo := echo cmd_cat := cat ## rules .PHONY: _default _default: ${dir_build}/sd ${dir_temp}/sd-unlinked.js: \ ${dir_source}/base.ts \ ${dir_source}/elements/base.ts \ ${dir_source}/elements/implementations/text.ts \ ${dir_source}/elements/implementations/group.ts \ ${dir_source}/main.ts @ ${cmd_log} "compiling …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_tsc} $^ --outFile $@ ${dir_build}/sd: ${dir_temp}/sd-unlinked.js @ ${cmd_log} "linking …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_echo} "#!/usr/bin/env node" > $@ @ ${cmd_cat} $^ >> $@ @ ${cmd_chmod} +x $@