docdef/tools/makefile
2024-11-17 15:02:51 +01:00

53 lines
1.3 KiB
Makefile

## 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/markdown.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 $@