40 lines
744 B
Makefile
40 lines
744 B
Makefile
## 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 $@
|
|
|