composition/tools/makefile
2025-03-03 06:15:30 +00:00

42 lines
925 B
Makefile

## consts
dir_source := source
dir_temp := temp
dir_build := build
cmd_mkdir := mkdir --parents
cmd_tsc := tsc --lib es2020,dom
cmd_log := echo "--"
cmd_chmod := chmod
cmd_cat := cat
cmd_echo := echo
## rules
.PHONY: _default
_default: ${dir_build}/mixin
${dir_temp}/mixin.js: \
${dir_source}/base.ts \
${dir_source}/composition.ts \
${dir_source}/logic/identity.ts \
${dir_source}/logic/occupation.ts \
${dir_source}/logic/calculating.ts \
${dir_source}/logic/repairing.ts \
${dir_source}/logic/cleaning.ts \
${dir_source}/logic/employee.ts \
${dir_source}/logic/bookkeeper.ts \
${dir_source}/logic/janitor.ts \
${dir_source}/main.ts
@ ${cmd_log} "compiling …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_tsc} --outFile $@ $^
${dir_build}/mixin: ${dir_temp}/mixin.js
@ ${cmd_log} "finishing …"
@ ${cmd_mkdir} $(dir $@)
@ ${cmd_echo} "#!/usr/bin/env node\n" > $@
@ ${cmd_cat} $^ >> $@
@ ${cmd_chmod} +x $@