summaryrefslogtreecommitdiff
path: root/Makefile
blob: b178e8f23149f1eaebd395377c8bb4f244dcdba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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/