## vars dir_lib := lib 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_lib}/plankton/plankton.d.ts \ ${dir_source}/base.ts \ ${dir_source}/objects/base.ts \ ${dir_source}/objects/implementations/text.ts \ ${dir_source}/objects/implementations/code.ts \ ${dir_source}/objects/implementations/link.ts \ ${dir_source}/objects/implementations/group.ts \ ${dir_source}/objects/implementations/section.ts \ ${dir_source}/objects/implementations/list.ts \ ${dir_source}/objects/implementations/table.ts \ ${dir_source}/document.ts \ ${dir_source}/outputs/base.ts \ ${dir_source}/outputs/implementations/json.ts \ ${dir_source}/outputs/implementations/html.ts \ ${dir_source}/outputs/implementations/tex.ts \ ${dir_source}/main.ts @ ${cmd_log} "compiling …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_tsc} --lib es2020 $^ --outFile $@ ${dir_build}/sd: ${dir_lib}/plankton/plankton.js ${dir_temp}/sd-unlinked.js @ ${cmd_log} "linking …" @ ${cmd_mkdir} $(dir $@) @ ${cmd_echo} "#!/usr/bin/env node" > $@ @ ${cmd_cat} $^ >> $@ @ ${cmd_chmod} +x $@