-
Notifications
You must be signed in to change notification settings - Fork 21
/
Makefile
88 lines (62 loc) · 1.7 KB
/
Makefile
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Generated by "drom project"
.PHONY: all build build-deps fmt fmt-check install dev-deps test
.PHONY: clean distclean
DEV_DEPS := merlin ocamlformat odoc ppx_expect ppx_inline_test
SPHINX_TARGET:=_drom/docs/sphinx
ODOC_TARGET:=_drom/docs/doc/.
# Use these non-generated files to include more rules here (and
# Makefile.trailer at the end)
-include Makefile.header
-include Makefile.config
all: build
build:
./scripts/before.sh build
opam exec -- dune build @install
./scripts/copy-bin.sh drom drom_lib drom_toml
./scripts/after.sh build
build-deps:
if ! [ -e _opam ]; then \
opam switch create . 4.14.1 ; \
fi
opam install ./*.opam --deps-only
.PHONY: doc-common odoc view sphinx
doc-common: build
mkdir -p _drom/docs
rsync -auv docs/. _drom/docs/.
sphinx: doc-common
./scripts/before.sh sphinx ${SPHINX_TARGET}
sphinx-build sphinx ${SPHINX_TARGET}
./scripts/after.sh sphinx ${SPHINX_TARGET}
odoc: doc-common
mkdir -p ${ODOC_TARGET}
./scripts/before.sh odoc ${ODOC_TARGET}
opam exec -- dune build @doc
rsync -auv --delete _build/default/_doc/_html/. ${ODOC_TARGET}
./scripts/after.sh odoc ${ODOC_TARGET}
doc: doc-common odoc sphinx
view:
xdg-open file://$$(pwd)/_drom/docs/index.html
fmt:
opam exec -- dune build @fmt --auto-promote
fmt-check:
opam exec -- dune build @fmt
install:
opam pin -y --no-action -k path .
opam install -y .
opam:
opam pin -k path .
uninstall:
opam uninstall .
dev-deps:
opam install ./*.opam --deps-only --with-doc --with-test
test:
./scripts/before.sh test
opam exec -- dune build @runtest
./scripts/after.sh test
clean:
rm -rf _build
./scripts/after.sh clean
distclean: clean
rm -rf _opam _drom
./scripts/after.sh distclean
-include Makefile.trailer