42 lines
883 B
Makefile
42 lines
883 B
Makefile
## consts
|
|
|
|
dir_lib := lib
|
|
dir_source := source
|
|
dir_temp := /tmp/kalender-temp
|
|
dir_build := build
|
|
dir_tools := tools
|
|
|
|
cmd_log := echo "--"
|
|
cmd_cat := cat
|
|
cmd_chmod := chmod
|
|
cmd_mkdir := mkdir -p
|
|
cmd_cp := cp
|
|
cmd_tsc := ${dir_tools}/typescript/node_modules/.bin/tsc
|
|
|
|
|
|
## rules
|
|
|
|
.PHONY: default
|
|
default: ${dir_build}/kalender
|
|
|
|
${dir_temp}/kalender-unlinked.js: \
|
|
${dir_lib}/plankton/plankton.d.ts \
|
|
${dir_source}/helpers.ts \
|
|
${dir_source}/logic.ts \
|
|
${dir_source}/main.ts
|
|
@ ${cmd_log} "compile …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_tsc} --lib es2020 --strict $^ --outFile $@
|
|
|
|
${dir_temp}/head.js:
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ echo "#!/usr/bin/env node" > $@
|
|
|
|
${dir_build}/kalender: \
|
|
${dir_temp}/head.js \
|
|
${dir_lib}/plankton/plankton.js \
|
|
${dir_temp}/kalender-unlinked.js
|
|
@ ${cmd_log} "link …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|
|
@ ${cmd_chmod} +x $@
|