frontend-dali/tools/makefile
2024-09-26 16:47:01 +02:00

77 lines
1.9 KiB
Makefile

## consts
dir_lib := lib
dir_source := source
dir_temp := /tmp/zeitbild-frontend-web-temp
dir_build := build
dir_tools := tools
cmd_cat := cat
cmd_chmod := chmod
cmd_cp := cp
cmd_log := echo "--"
cmd_mkdir := mkdir -p
cmd_tsc := ${dir_tools}/typescript/node_modules/.bin/tsc
## rules
.PHONY: default
default: index templates style logic data
.PHONY: index
index: ${dir_build}/index.html
${dir_build}/index.html: \
${dir_source}/index.html
@ ${cmd_log} "index …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_cp} -u -v $^ $@
.PHONY: templates
templates: \
$(wildcard ${dir_source}/templates/*)
@ ${cmd_log} "templates …"
@ ${cmd_mkdir} ${dir_build}/templates
@ ${cmd_cp} -r -u -v ${dir_source}/templates/* ${dir_build}/templates/
.PHONY: style
style: \
$(wildcard ${dir_source}/style/*)
@ ${cmd_log} "style …"
@ ${cmd_mkdir} ${dir_build}
@ ${cmd_cat} ${dir_source}/style/* > ${dir_build}/style.css
.PHONY: logic
logic: ${dir_build}/logic.js
${dir_temp}/logic-unlinked.js: \
${dir_lib}/plankton/plankton.d.ts \
${dir_source}/logic/helpers.ts \
${dir_source}/logic/conf.ts \
${dir_source}/logic/types.ts \
${dir_source}/logic/backend.ts \
${dir_source}/logic/view.ts \
${dir_source}/pages/login/logic.ts \
${dir_source}/pages/logout/logic.ts \
${dir_source}/pages/oidc_finish/logic.ts \
${dir_source}/pages/calendar_add/logic.ts \
${dir_source}/pages/event_add/logic.ts \
${dir_source}/pages/events/logic.ts \
${dir_source}/logic/main.ts
@ ${cmd_log} "logic | compile …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_tsc} --lib dom,es2020 $^ --outFile $@ # --strict
${dir_build}/logic.js: \
${dir_lib}/plankton/plankton.js \
${dir_temp}/logic-unlinked.js
@ ${cmd_log} "logic | link …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_cat} $^ > $@
.PHONY: data
data:
@ ${cmd_log} "data …"
@ ${cmd_mkdir} ${dir_build}/data
@ ${cmd_cp} -r -u -v ${dir_source}/data/* ${dir_build}/data/