backend/tools/makefile

43 lines
883 B
Makefile
Raw Normal View History

2024-09-09 12:13:10 +02:00
## consts
2024-09-08 21:31:17 +02:00
2024-09-09 12:13:10 +02:00
dir_lib := lib
2024-09-08 21:31:17 +02:00
dir_source := source
2024-09-09 12:13:10 +02:00
dir_temp := /tmp/kalender-temp
2024-09-08 21:31:17 +02:00
dir_build := build
2024-09-09 12:13:10 +02:00
dir_tools := tools
2024-09-08 21:31:17 +02:00
cmd_log := echo "--"
cmd_cat := cat
2024-09-09 12:13:10 +02:00
cmd_chmod := chmod
2024-09-08 21:31:17 +02:00
cmd_mkdir := mkdir -p
2024-09-09 12:13:10 +02:00
cmd_cp := cp
cmd_tsc := ${dir_tools}/typescript/node_modules/.bin/tsc
2024-09-08 21:31:17 +02:00
## rules
2024-09-09 12:13:10 +02:00
.PHONY: default
default: ${dir_build}/kalender
2024-09-08 21:31:17 +02:00
2024-09-09 12:13:10 +02:00
${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 …"
2024-09-08 21:31:17 +02:00
@ ${cmd_mkdir} $(dir $@)
2024-09-09 12:13:10 +02:00
@ ${cmd_tsc} --lib es2020 --strict $^ --outFile $@
2024-09-08 21:31:17 +02:00
2024-09-09 12:13:10 +02:00
${dir_temp}/head.js:
2024-09-08 21:31:17 +02:00
@ ${cmd_mkdir} $(dir $@)
2024-09-09 12:13:10 +02:00
@ echo "#!/usr/bin/env node" > $@
2024-09-08 21:31:17 +02:00
2024-09-09 12:13:10 +02:00
${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 $@