summaryrefslogtreecommitdiffstats
path: root/makefile
blob: b70fdacd1da8c92d58c55862e8706f3ec11995de (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
IMAGES = $(wildcard img/*.png)
COMPRESSED_IMAGES = $(foreach img, ${IMAGES}, site/${img})
HIGHLIGHT_THEME = googlecode

.PHONY: default
default: build

.PHONY: build-deps
build-deps: build-ocaml-deps build-node-deps

.PHONY: build-node-deps
build-node-deps: package-lock.json

.PHONY: build-ocaml-deps
build-ocaml-deps: _opam/.init
	@opam pin dependencies . --no-action --yes
	@opam install dependencies --deps-only --yes

_opam/.init:
	@opam switch create . ocaml-system --yes --no-install --deps-only || true
	@touch $@

package-lock.json: package.json
	@npm install

style.min.css: style.css package-lock.json
	@./scripts/css.sh

site/styles/highlight.css: package-lock.json .FORCE
	@cp $(shell npm root)/highlight.js/styles/${HIGHLIGHT_THEME}.css $@

site/img/%.png: img/%.png
	@pngcrush -q $^ $@

.PHONY:build
build: style.min.css site/styles/highlight.css ${COMPRESSED_IMAGES}
	@soupault

.PHONY: clean
clean:
	@rm -rf out/

.FORCE: