## 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.tpl @ ${cmd_log} "index …" @ ${cmd_mkdir} $(dir $@) @ tools/make-index ${dir_source}/index.html.tpl > $@ .PHONY: templates templates: \ templates-widgets-login \ templates-widgets-sources \ templates-widgets-listview \ templates-widgets-weekview \ templates-widgets-mode_switcher \ templates-pages-caldav \ templates-pages-overview .PHONY: templates-widgets-login templates-widgets-login: \ $(wildcard ${dir_source}/widgets/login/templates/*) @ ${cmd_log} "templates:widget:login …" @ ${cmd_mkdir} ${dir_build}/templates/widget-login @ ${cmd_cp} -r -u -v ${dir_source}/widgets/login/templates/* ${dir_build}/templates/widget-login/ .PHONY: templates-widgets-sources templates-widgets-sources: \ $(wildcard ${dir_source}/widgets/sources/templates/*) @ ${cmd_log} "templates:widget:sources …" @ ${cmd_mkdir} ${dir_build}/templates/widget-sources @ ${cmd_cp} -r -u -v ${dir_source}/widgets/sources/templates/* ${dir_build}/templates/widget-sources/ .PHONY: templates-widgets-listview templates-widgets-listview: \ $(wildcard ${dir_source}/widgets/listview/templates/*) @ ${cmd_log} "templates:widget:listview …" @ ${cmd_mkdir} ${dir_build}/templates/widget-listview @ ${cmd_cp} -r -u -v ${dir_source}/widgets/listview/templates/* ${dir_build}/templates/widget-listview/ .PHONY: templates-widgets-weekview templates-widgets-weekview: \ $(wildcard ${dir_source}/widgets/weekview/templates/*) @ ${cmd_log} "templates:widget:weekview …" @ ${cmd_mkdir} ${dir_build}/templates/widget-weekview @ ${cmd_cp} -r -u -v ${dir_source}/widgets/weekview/templates/* ${dir_build}/templates/widget-weekview/ .PHONY: templates-widgets-mode_switcher templates-widgets-mode_switcher: \ $(wildcard ${dir_source}/widgets/mode_switcher/templates/*) @ ${cmd_log} "templates:widget:mode_switcher …" @ ${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/ .PHONY: templates-pages-caldav templates-pages-caldav: \ $(wildcard ${dir_source}/pages/caldav/templates/*) @ ${cmd_log} "templates:page:caldav …" @ ${cmd_mkdir} ${dir_build}/templates/caldav @ ${cmd_cp} -r -u -v ${dir_source}/pages/caldav/templates/* ${dir_build}/templates/caldav/ .PHONY: templates-pages-overview templates-pages-overview: \ $(wildcard ${dir_source}/pages/overview/templates/*) @ ${cmd_log} "templates:page:overview …" @ ${cmd_mkdir} ${dir_build}/templates/overview @ ${cmd_cp} -r -u -v ${dir_source}/pages/overview/templates/* ${dir_build}/templates/overview/ .PHONY: style style: ${dir_build}/style.css ${dir_build}/style.css: \ $(wildcard ${dir_source}/style/*.css) \ $(wildcard ${dir_source}/widgets/*/style.css) \ $(wildcard ${dir_source}/pages/*/style.css) @ ${cmd_log} "style …" @ ${cmd_mkdir} ${dir_build} @ ${cmd_cat} $^ > $@ .PHONY: logic logic: ${dir_build}/logic.js ${dir_temp}/logic-unlinked.js: \ ${dir_lib}/plankton/plankton.d.ts \ ${dir_source}/resources/conf.ts \ ${dir_source}/resources/backend.ts \ ${dir_source}/base.ts \ ${dir_source}/types.ts \ ${dir_source}/model.ts \ ${dir_source}/helpers.ts \ ${dir_source}/overlay.ts \ $(wildcard ${dir_source}/widgets/*/logic.ts) \ $(wildcard ${dir_source}/pages/*/logic.ts) \ ${dir_source}/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/