summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2024-11-05 02:58:33 -0500
committerLLLL Colonq <llll@colonq>2024-11-05 02:58:33 -0500
commitcf0070ac5a78d8042fa74d407fb9cb65352e2066 (patch)
tree85fb5cee6c7533b7ae6de846ed447772d7b67296 /Makefile
Initial commit
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile54
1 files changed, 54 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b178e8f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,54 @@
+.PHONY: all dist deploy extension clean
+
+TEMPLATES=$(shell ls templates)
+
+all: dist $(addprefix dist/test/,$(TEMPLATES)) dist/test/assets dist/test/main.js dist/test/main.css
+
+deploy: dist $(addprefix dist/deploy/,$(TEMPLATES)) dist/deploy/assets dist/deploy/main.js dist/deploy/main.css
+ rsync -av dist/deploy/ "pub.colonq.computer:~/public_html/"
+
+dist:
+ mkdir -p dist/test
+ mkdir -p dist/deploy
+
+main.js: $(shell find src)
+ purs-nix bundle
+
+dist/%/assets: $(shell find assets) dist
+ rm -rf $@
+ mkdir -p $@
+ cp -r assets/* $@
+
+dist/%/main.js: main.js dist
+ cp $< $@
+
+dist/extension/main.css: extension/main.css dist
+ cp $< $@
+
+dist/%/main.css: main.css dist
+ cp $< $@
+
+dist/%/index.html: config/%.m4 dist index-template.html
+ sh -c "m4 $< >$@"
+
+
+define GEN_RULE
+dist/%/$(template): config/%.m4 templates/$(template)
+ sh -c "m4 $$^ >$$@"
+endef
+$(foreach template,$(TEMPLATES), $(eval $(GEN_RULE)))
+
+extension: dist dist/extension/assets dist/extension/manifest.json dist/extension/background.js dist/extension/main.js dist/extension/main.css dist/extension/config.js
+
+dist/extension/manifest.json: extension/manifest.dhall
+ dhall-to-json <$< >$@
+
+dist/extension/config.js: config/extension.js
+ cp $< $@
+
+dist/extension/%: extension/%
+ cp $< $@
+
+clean:
+ rm main.js
+ rm -r dist/