2024-09-12 00:02:12 +02:00
|
|
|
## 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
|
2024-09-26 13:38:25 +02:00
|
|
|
default: index templates style logic data
|
2024-09-12 00:02:12 +02:00
|
|
|
|
|
|
|
|
.PHONY: index
|
|
|
|
|
index: ${dir_build}/index.html
|
|
|
|
|
|
|
|
|
|
${dir_build}/index.html: \
|
2024-10-01 18:28:04 +02:00
|
|
|
${dir_source}/index.html.tpl
|
2024-09-12 00:02:12 +02:00
|
|
|
@ ${cmd_log} "index …"
|
|
|
|
|
@ ${cmd_mkdir} $(dir $@)
|
2025-10-20 13:16:00 +02:00
|
|
|
@ tools/make-index ${dir_source}/index.html.tpl > $@
|
2024-09-12 00:02:12 +02:00
|
|
|
|
|
|
|
|
.PHONY: templates
|
|
|
|
|
templates: \
|
2025-10-28 11:41:17 +01:00
|
|
|
templates-widgets-special_number_input \
|
|
|
|
|
templates-widgets-login_oidc \
|
2024-10-01 21:33:14 +02:00
|
|
|
templates-widgets-sources \
|
2025-10-28 11:41:17 +01:00
|
|
|
templates-widgets-caldav \
|
2024-10-01 22:52:53 +02:00
|
|
|
templates-widgets-listview \
|
2024-10-01 21:33:14 +02:00
|
|
|
templates-widgets-weekview \
|
2025-10-28 11:41:17 +01:00
|
|
|
templates-widgets-overview \
|
|
|
|
|
templates-widgets-mode_switcher
|
|
|
|
|
|
|
|
|
|
.PHONY: templates-widgets-special_number_input
|
|
|
|
|
templates-widgets-special_number_input: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/special_number_input/templates/*)
|
|
|
|
|
@ ${cmd_log} "templates:widget:special_number_input …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-special_number_input
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/special_number_input/templates/* ${dir_build}/templates/widget-special_number_input/
|
|
|
|
|
|
|
|
|
|
.PHONY: templates-widgets-login_oidc
|
|
|
|
|
templates-widgets-login_oidc: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/login_oidc/templates/*)
|
|
|
|
|
@ ${cmd_log} "templates:widget:login_oidc …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-login_oidc
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/login_oidc/templates/* ${dir_build}/templates/widget-login_oidc/
|
2024-10-01 18:28:04 +02:00
|
|
|
|
2024-10-01 21:33:14 +02:00
|
|
|
.PHONY: templates-widgets-sources
|
|
|
|
|
templates-widgets-sources: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/sources/templates/*)
|
2025-10-20 13:16:00 +02:00
|
|
|
@ ${cmd_log} "templates:widget:sources …"
|
2024-10-01 21:33:14 +02:00
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-sources
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/sources/templates/* ${dir_build}/templates/widget-sources/
|
|
|
|
|
|
2025-10-28 11:41:17 +01:00
|
|
|
.PHONY: templates-widgets-caldav
|
|
|
|
|
templates-widgets-caldav: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/caldav/templates/*)
|
|
|
|
|
@ ${cmd_log} "templates:widget:caldav …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-caldav
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/caldav/templates/* ${dir_build}/templates/widget-caldav/
|
|
|
|
|
|
2024-10-01 22:52:53 +02:00
|
|
|
.PHONY: templates-widgets-listview
|
|
|
|
|
templates-widgets-listview: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/listview/templates/*)
|
2025-10-20 13:16:00 +02:00
|
|
|
@ ${cmd_log} "templates:widget:listview …"
|
2024-10-01 22:52:53 +02:00
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-listview
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/listview/templates/* ${dir_build}/templates/widget-listview/
|
|
|
|
|
|
2024-10-01 21:33:14 +02:00
|
|
|
.PHONY: templates-widgets-weekview
|
|
|
|
|
templates-widgets-weekview: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/weekview/templates/*)
|
2025-10-20 13:16:00 +02:00
|
|
|
@ ${cmd_log} "templates:widget:weekview …"
|
2024-10-01 21:33:14 +02:00
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-weekview
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/weekview/templates/* ${dir_build}/templates/widget-weekview/
|
|
|
|
|
|
2025-10-28 11:41:17 +01:00
|
|
|
.PHONY: templates-widgets-overview
|
|
|
|
|
templates-widgets-overview: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/overview/templates/*)
|
|
|
|
|
@ ${cmd_log} "templates:widget:overview …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-overview
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/overview/templates/* ${dir_build}/templates/widget-overview/
|
|
|
|
|
|
2025-10-02 17:00:17 +02:00
|
|
|
.PHONY: templates-widgets-mode_switcher
|
|
|
|
|
templates-widgets-mode_switcher: \
|
|
|
|
|
$(wildcard ${dir_source}/widgets/mode_switcher/templates/*)
|
2025-10-20 13:16:00 +02:00
|
|
|
@ ${cmd_log} "templates:widget:mode_switcher …"
|
2025-10-02 17:00:17 +02:00
|
|
|
@ ${cmd_mkdir} ${dir_build}/templates/widget-mode_switcher
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/widgets/mode_switcher/templates/* ${dir_build}/templates/widget-mode_switcher/
|
|
|
|
|
|
2024-09-12 00:02:12 +02:00
|
|
|
.PHONY: style
|
2025-10-20 13:16:00 +02:00
|
|
|
style: ${dir_build}/style.css
|
|
|
|
|
|
|
|
|
|
${dir_build}/style.css: \
|
|
|
|
|
$(wildcard ${dir_source}/style/*.css) \
|
2025-10-28 11:41:17 +01:00
|
|
|
$(wildcard ${dir_source}/widgets/*/style.css)
|
2024-09-12 00:02:12 +02:00
|
|
|
@ ${cmd_log} "style …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}
|
2025-10-20 13:16:00 +02:00
|
|
|
@ ${cmd_cat} $^ > $@
|
2024-09-12 00:02:12 +02:00
|
|
|
|
|
|
|
|
.PHONY: logic
|
|
|
|
|
logic: ${dir_build}/logic.js
|
|
|
|
|
|
|
|
|
|
${dir_temp}/logic-unlinked.js: \
|
|
|
|
|
${dir_lib}/plankton/plankton.d.ts \
|
2025-09-25 17:59:48 +02:00
|
|
|
${dir_source}/resources/conf.ts \
|
|
|
|
|
${dir_source}/resources/backend.ts \
|
2025-10-17 00:10:28 +02:00
|
|
|
${dir_source}/base.ts \
|
|
|
|
|
${dir_source}/types.ts \
|
|
|
|
|
${dir_source}/model.ts \
|
2025-10-14 00:16:22 +02:00
|
|
|
${dir_source}/overlay.ts \
|
2025-10-28 11:41:17 +01:00
|
|
|
${dir_source}/helpers.ts \
|
2025-10-20 13:16:00 +02:00
|
|
|
$(wildcard ${dir_source}/widgets/*/logic.ts) \
|
2025-09-25 17:59:48 +02:00
|
|
|
${dir_source}/main.ts
|
2024-09-12 00:02:12 +02:00
|
|
|
@ ${cmd_log} "logic | compile …"
|
|
|
|
|
@ ${cmd_mkdir} $(dir $@)
|
2024-09-19 01:40:27 +02:00
|
|
|
@ ${cmd_tsc} --lib dom,es2020 $^ --outFile $@ # --strict
|
2024-09-12 00:02:12 +02:00
|
|
|
|
|
|
|
|
${dir_build}/logic.js: \
|
|
|
|
|
${dir_lib}/plankton/plankton.js \
|
|
|
|
|
${dir_temp}/logic-unlinked.js
|
|
|
|
|
@ ${cmd_log} "logic | link …"
|
|
|
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
|
|
|
@ ${cmd_cat} $^ > $@
|
2024-09-26 13:38:25 +02:00
|
|
|
|
|
|
|
|
.PHONY: data
|
|
|
|
|
data:
|
|
|
|
|
@ ${cmd_log} "data …"
|
|
|
|
|
@ ${cmd_mkdir} ${dir_build}/data
|
|
|
|
|
@ ${cmd_cp} -r -u -v ${dir_source}/data/* ${dir_build}/data/
|