102 lines
2.7 KiB
Makefile
102 lines
2.7 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: main
|
|
|
|
.PHONY: core
|
|
core: node_modules ${dir_temp}/espe-core.js ${dir_temp}/espe-core.d.ts
|
|
|
|
.PHONY: node_modules
|
|
node_modules:
|
|
@ ${cmd_mkdir} ${dir_build}/node_modules
|
|
@ ${cmd_log} "node modules …"
|
|
@ ${cmd_cp} -r -u ${dir_lib}/node/node_modules/* ${dir_build}/node_modules/
|
|
|
|
${dir_temp}/espe-core.js ${dir_temp}/espe-core.d.ts: \
|
|
${dir_lib}/plankton/plankton.d.ts \
|
|
${dir_source}/helpers.ts \
|
|
${dir_source}/database.ts \
|
|
${dir_source}/types.ts \
|
|
${dir_source}/repositories/name_index.ts \
|
|
${dir_source}/repositories/member.ts \
|
|
${dir_source}/services/name_index.ts \
|
|
${dir_source}/services/member.ts \
|
|
${dir_source}/service-admin.ts \
|
|
${dir_source}/api/base.ts \
|
|
${dir_source}/api/actions/session_begin.ts \
|
|
${dir_source}/api/actions/session_end.ts \
|
|
${dir_source}/api/actions/member_project.ts \
|
|
${dir_source}/api/actions/member_summon.ts \
|
|
${dir_source}/api/actions/member_info.ts \
|
|
${dir_source}/api/actions/member_register.ts \
|
|
${dir_source}/api/actions/member_list.ts \
|
|
${dir_source}/api/actions/member_read.ts \
|
|
${dir_source}/api/actions/member_modify.ts \
|
|
${dir_source}/api/functions.ts \
|
|
${dir_source}/conf.ts
|
|
@ ${cmd_log} "compile | core …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ tsc --lib es2020 $^ --outFile ${dir_temp}/espe-core.js --declaration
|
|
|
|
.PHONY: main
|
|
main: core ${dir_build}/espe
|
|
|
|
${dir_temp}/espe-main-raw.js: \
|
|
${dir_lib}/plankton/plankton.d.ts \
|
|
${dir_temp}/espe-core.d.ts \
|
|
${dir_source}/main.ts
|
|
@ ${cmd_log} "compile | main …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ tsc --lib es2020 $^ --outFile $@
|
|
|
|
${dir_build}/espe: \
|
|
${dir_source}/head.js \
|
|
${dir_lib}/plankton/plankton.js \
|
|
${dir_temp}/espe-core.js \
|
|
${dir_temp}/espe-main-raw.js
|
|
@ ${cmd_log} "link | main …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|
|
@ ${cmd_chmod} +x $@
|
|
|
|
.PHONY: test
|
|
test: core ${dir_build}/test-data.json ${dir_build}/espe-test.mocha.js
|
|
|
|
${dir_build}/test-data.json: \
|
|
${dir_source}/test/data.json
|
|
@ ${cmd_log} "test | copy data …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cp} -r -u -v $^ $@
|
|
|
|
${dir_temp}/espe-test-raw.js: \
|
|
${dir_lib}/plankton/plankton.d.ts \
|
|
${dir_temp}/espe-core.d.ts \
|
|
${dir_lib}/node/node_modules/@types/mocha/index.d.ts \
|
|
${dir_source}/test/main.mocha.ts
|
|
@ ${cmd_log} "compile | test …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ tsc --lib es2020 $^ --outFile $@
|
|
|
|
${dir_build}/espe-test.mocha.js: \
|
|
${dir_source}/head.js \
|
|
${dir_lib}/plankton/plankton.js \
|
|
${dir_temp}/espe-core.js \
|
|
${dir_temp}/espe-test-raw.js
|
|
@ ${cmd_log} "link | test …"
|
|
@ ${cmd_mkdir} $(dir $@)
|
|
@ ${cmd_cat} $^ > $@
|
|
@ ${cmd_chmod} +x $@
|