50 lines
1.3 KiB
Makefile
50 lines
1.3 KiB
Makefile
## consts
|
|
|
|
dir_lib := lib
|
|
dir_source := source
|
|
dir_temp := temp
|
|
dir_build := build
|
|
|
|
cmd_log := echo "--"
|
|
cmd_cat := cat
|
|
cmd_chmod := chmod
|
|
cmd_mkdir := mkdir -p
|
|
cmd_cp := cp
|
|
|
|
|
|
## rules
|
|
|
|
.PHONY: default
|
|
default: ${dir_build}/index.html ${dir_build}/logic.js ${dir_build}/style.css
|
|
|
|
${dir_build}/index.html: ${dir_source}/structure/index.html.tpl
|
|
@ ${cmd_log} "structure …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|
|
|
|
${dir_temp}/logic-unlinked.js: \
|
|
${dir_lib}/plankton/plankton.d.ts \
|
|
${dir_source}/logic/backend.ts \
|
|
${dir_source}/logic/conf.ts \
|
|
${dir_source}/logic/pages/index.ts \
|
|
${dir_source}/logic/pages/login.ts \
|
|
${dir_source}/logic/pages/logout.ts \
|
|
${dir_source}/logic/pages/members.ts \
|
|
${dir_source}/logic/pages/create.ts \
|
|
${dir_source}/logic/pages/view.ts \
|
|
${dir_source}/logic/pages/register.ts \
|
|
${dir_source}/logic/main.ts
|
|
@ ${cmd_log} "logic | compile …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ tsc --lib es2020,dom $^ --outFile $@
|
|
|
|
${dir_build}/logic.js: ${dir_lib}/plankton/plankton.js ${dir_temp}/logic-unlinked.js
|
|
@ ${cmd_log} "logic | link …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|
|
@ ${cmd_chmod} +x $@
|
|
|
|
${dir_build}/style.css: ${dir_source}/style/style.css
|
|
@ ${cmd_log} "style …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|