Christian Fraß commited on 2021-03-08 23:03:11
Zeige 1 geänderte Dateien mit 27 Einfügungen und 2 Löschungen.
| ... | ... |
@@ -1,14 +1,17 @@ |
| 1 | 1 |
## directories |
| 2 | 2 |
dir_source := source |
| 3 |
+dir_temp := temp |
|
| 3 | 4 |
dir_build := build |
| 4 | 5 |
dir_lib := lib |
| 5 | 6 |
|
| 6 | 7 |
## commands |
| 8 |
+cmd_concatenate := cat |
|
| 7 | 9 |
cmd_dir_make := mkdir --parents |
| 8 | 10 |
cmd_copy := cp --recursive --update --verbose |
| 9 | 11 |
cmd_tsc := tsc --lib es2015,dom --target es6 |
| 10 | 12 |
cmd_remove := rm --force |
| 11 | 13 |
cmd_link := ln --symbolic |
| 14 |
+cmd_log := echo "--" |
|
| 12 | 15 |
|
| 13 | 16 |
## rules |
| 14 | 17 |
all: ${dir_build}/sql ${dir_build}/manage
|
| ... | ... |
@@ -19,9 +22,21 @@ ${dir_build}/sql:
|
| 19 | 22 |
@ ${cmd_copy} ${dir_source}/sql/* ${dir_build}/sql/
|
| 20 | 23 |
.PHONY: ${dir_build}/sql
|
| 21 | 24 |
|
| 22 |
-${dir_build}/manage: \
|
|
| 25 |
+${dir_temp}/plankton.d.ts:
|
|
| 26 |
+ @ ${cmd_log} "fetching plankton declaration"
|
|
| 27 |
+ @ ${cmd_dir_make} ${dir_temp}
|
|
| 28 |
+ @ schwamm --include=${dir_lib}/plankton/plankton.swm.json --output=dump:logic-decl > ${dir_temp}/plankton.d.ts
|
|
| 29 |
+ |
|
| 30 |
+${dir_temp}/plankton.js:
|
|
| 31 |
+ @ ${cmd_log} "fetching plankton implementation"
|
|
| 32 |
+ @ ${cmd_dir_make} ${dir_temp}
|
|
| 33 |
+ @ schwamm --include=${dir_lib}/plankton/plankton.swm.json --output=dump:logic-impl > ${dir_temp}/plankton.js
|
|
| 34 |
+ |
|
| 35 |
+${dir_temp}/manage-core.js: \
|
|
| 36 |
+ ${dir_temp}/plankton.d.ts \
|
|
| 23 | 37 |
${dir_source}/types.ts \
|
| 24 | 38 |
${dir_source}/helpers/string.ts \
|
| 39 |
+ ${dir_source}/helpers/object.ts \
|
|
| 25 | 40 |
${dir_source}/helpers/json.ts \
|
| 26 | 41 |
${dir_source}/helpers/file.ts \
|
| 27 | 42 |
${dir_source}/helpers/database.ts \
|
| ... | ... |
@@ -40,8 +55,18 @@ ${dir_build}/manage: \
|
| 40 | 55 |
${dir_source}/services/tag.ts \
|
| 41 | 56 |
${dir_source}/services/expression.ts \
|
| 42 | 57 |
${dir_source}/services/concept.ts \
|
| 58 |
+ ${dir_source}/api/master.ts \
|
|
| 59 |
+ ${dir_source}/api/actions/concept_add.ts \
|
|
| 60 |
+ ${dir_source}/api/actions/translate.ts \
|
|
| 43 | 61 |
${dir_source}/main.ts
|
| 44 |
- @ ${cmd_dir_make} ${dir_build}
|
|
| 62 |
+ @ ${cmd_log} "compiling …"
|
|
| 63 |
+ @ ${cmd_dir_make} ${dir_temp}
|
|
| 45 | 64 |
@ ${cmd_tsc} $^ --outFile $@
|
| 65 |
+ |
|
| 66 |
+${dir_build}/manage: ${dir_temp}/plankton.js ${dir_temp}/manage-core.js
|
|
| 67 |
+ @ ${cmd_log} "linking …"
|
|
| 68 |
+ @ ${cmd_dir_make} ${dir_build}
|
|
| 69 |
+ @ echo "#!/usr/bin/env node" > $@ |
|
| 70 |
+ @ ${cmd_concatenate} $^ >> $@
|
|
| 46 | 71 |
@ chmod +x ${dir_build}/manage
|
| 47 | 72 |
|
| 48 | 73 |