-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
42 lines (28 loc) · 897 Bytes
/
Copy pathMakefile
File metadata and controls
42 lines (28 loc) · 897 Bytes
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
# Invoke `make` to build, `make clean` to clean up, etc.
.PHONY: all clean
# Default intersection mode (default | wo_opt1 | wo_opt2 | wo_opt3 | wo_opt123)
INTERSECTION_MODE ?= default
default: test all
# The library can be loaded in utop for interactive testing.
# The flag "--profile release" is passed to avoid warnings-as-errors
all:
INTERSECT_MODE=$(INTERSECT_MODE) dune exec ./bin/main.exe
menhir-only:
dune exec ./bin/main.exe
menhir --table --inspection --dump --explain --reference-graph --greta ./lib/parser.mly --base ./_build/default/lib/parser
test:
dune test
run-default:
$(MAKE) all INTERSECT_MODE=default
run-wo-opt1:
$(MAKE) all INTERSECT_MODE=wo_opt1
run-wo-opt2:
$(MAKE) all INTERSECT_MODE=wo_opt2
run-wo-opt3:
$(MAKE) all INTERSECT_MODE=wo_opt3
run-wo-opt123:
$(MAKE) all INTERSECT_MODE=wo_opt123
clean:
dune clean
utop:
dune utop . --profile release