diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 67 |
1 files changed, 53 insertions, 14 deletions
@@ -1,21 +1,60 @@ -.PHONY: default backend tmpl frontend docs sql iadocs +# TODO: Use some variables to clean up the massive documentation file specifiers -default: backend tmpl frontend docs sql iadocs +.PHONY: cca default minifier iadocs docs build_iadocs build_docs -backend: - make -C backend +default: dist/cca docs iadocs -tmpl: - make -C tmpl +cca: dist/cca -frontend: - make -C frontend +docs: dist/docs/admin_handbook.html dist/docs/handbook.css dist/docs/cca.scfg.example -docs: - make -C docs +iadocs: dist/iadocs/cover_page.htm dist/iadocs/appendix.pdf dist/iadocs/crita_planning.pdf dist/iadocs/critb_design.pdf dist/iadocs/critb_recordoftasks.pdf dist/iadocs/critc_development.pdf dist/iadocs/critd_functionality.pdf dist/iadocs/crite_evaluation.pdf -sql: - make -C sql +# Final binary which tries to embed stuff +dist/cca: *.go build/static/style.css build/static/student.js tmpl/* build/docs/admin_handbook.html build/docs/handbook.css build/docs/cca.scfg.example build/iadocs/cover_page.htm build/iadocs/appendix.pdf build/iadocs/crita_planning.pdf build/iadocs/critb_design.pdf build/iadocs/critb_recordoftasks.pdf build/iadocs/critc_development.pdf build/iadocs/critd_functionality.pdf build/iadocs/crite_evaluation.pdf + mkdir -p dist + go build -o $@ -iadocs: - make -C iadocs +# Documentation +dist/docs/%: build/docs/% + mkdir -p dist/docs + cp $< $@ +build/docs/%.html: docs/%.html + mkdir -p build/docs + minify --html-keep-end-tags --html-keep-document-tags -o $@ $< +build/docs/handbook.css: docs/handbook.css + mkdir -p build/docs + minify -o $@ $< +build/docs/cca.scfg.example: docs/cca.scfg.example + mkdir -p build/docs + cp $< $@ + +# IA documentation +dist/iadocs/%.pdf: build/iadocs/%.pdf + mkdir -p dist/iadocs + cp $< $@ +dist/iadocs/%.htm: build/iadocs/%.htm + mkdir -p dist/iadocs + cp $< $@ +build/iadocs/%.htm: iadocs/%.htm + mkdir -p build/iadocs + minify --html-keep-end-tags --html-keep-document-tags -o $@ $< +build/iadocs/%.pdf: iadocs/%.tex build/iadocs/header.inc + mkdir -p build/iadocs + lualatex -output-directory=build/iadocs $< + lualatex -output-directory=build/iadocs $< +build/iadocs/%.inc: iadocs/%.inc + mkdir -p build/iadocs + cp $< $@ + +# Temporary files in build/ to be embedded into the final binary +build/static/style.css: frontend/style.css + mkdir -p build/static + minify -o $@ $< +build/static/student.js: frontend/student.js + mkdir -p build/static + minify -o $@ $< + +# External dependencies +minifier: + go install github.com/tdewolff/minify/v2/cmd/minify@latest |