backend/tools/makefile

83 lines
2.1 KiB
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-12 00:03:29 +02:00
dir_temp := /tmp/zeitbild-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_cat := cat
2024-09-09 12:13:10 +02:00
cmd_chmod := chmod
cmd_cp := cp
2024-09-11 17:24:20 +02:00
cmd_log := echo "--"
cmd_mkdir := mkdir -p
2024-09-12 00:03:29 +02:00
cmd_echo := echo
2024-09-09 12:13:10 +02:00
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
2024-09-21 10:56:00 +02:00
default: sql ${dir_build}/zeitbild node_modules
2024-09-12 00:03:29 +02:00
2024-09-21 10:56:00 +02:00
.PHONY: sql
sql: \
$(wildcard ${dir_source}/repositories/sql/*)
@ ${cmd_log} "sql …"
@ ${cmd_mkdir} ${dir_build}/sql
@ ${cmd_cp} -r -u $^ ${dir_build}/sql/
2024-09-18 18:17:25 +02:00
${dir_temp}/conf.ts: \
${dir_source}/conf.ts.tpl \
${dir_source}/conf.schema.json
@ ${cmd_mkdir} $(dir $@)
${dir_tools}/coin $@
2024-09-12 00:03:29 +02:00
${dir_temp}/zeitbild-unlinked.js: \
2024-09-09 12:13:10 +02:00
${dir_lib}/plankton/plankton.d.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/helpers.ts \
${dir_source}/conf.ts \
${dir_source}/database.ts \
2024-09-18 18:17:25 +02:00
${dir_source}/auth.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/types.ts \
2024-09-21 10:56:00 +02:00
${dir_source}/value_objects/access_level.ts \
2024-09-18 18:17:25 +02:00
${dir_source}/repositories/auth_internal.ts \
${dir_source}/repositories/user.ts \
2024-09-12 16:35:57 +02:00
${dir_source}/repositories/resource.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/repositories/calendar.ts \
2024-09-18 18:17:25 +02:00
${dir_source}/services/auth_internal.ts \
${dir_source}/services/user.ts \
${dir_source}/services/resource.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/services/calendar.ts \
${dir_source}/api/base.ts \
${dir_source}/api/actions/meta_ping.ts \
${dir_source}/api/actions/meta_spec.ts \
2024-09-19 13:34:07 +02:00
${dir_source}/api/actions/session_prepare.ts \
2024-09-13 17:49:32 +02:00
${dir_source}/api/actions/session_begin.ts \
2024-09-19 13:34:07 +02:00
${dir_source}/api/actions/session_oidc.ts \
2024-09-13 17:49:32 +02:00
${dir_source}/api/actions/session_end.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/api/actions/calendar_list.ts \
2024-09-12 19:35:31 +02:00
${dir_source}/api/actions/events.ts \
2024-09-12 00:03:29 +02:00
${dir_source}/api/functions.ts \
${dir_source}/main.ts
@ ${cmd_log} "compile …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_tsc} --lib es2020 --strict $^ --outFile $@
${dir_temp}/head.js:
2024-09-08 21:31:17 +02:00
@ ${cmd_mkdir} $(dir $@)
2024-09-12 00:03:29 +02:00
@ ${cmd_echo} "#!/usr/bin/env node" > $@
2024-09-08 21:31:17 +02:00
2024-09-12 00:03:29 +02:00
${dir_build}/zeitbild: \
${dir_temp}/head.js \
2024-09-09 12:13:10 +02:00
${dir_lib}/plankton/plankton.js \
2024-09-12 00:03:29 +02:00
${dir_temp}/zeitbild-unlinked.js
@ ${cmd_log} "link …"
2024-09-09 12:13:10 +02:00
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_cat} $^ > $@
2024-09-12 00:03:29 +02:00
@ ${cmd_chmod} +x $@
2024-09-21 10:56:00 +02:00
.PHONY: node_modules
node_modules:
@ cd ${dir_build} && npm install sqlite3 bcrypt