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

.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

.FORCE: