-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
51 lines (34 loc) · 1.47 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
TEMPFILE := $(shell mktemp)
pwd = $(shell pwd)
buildDate = $(shell date)
oce = opam config exec --
buildCmd = $(oce) rebuild -use-ocamlfind -tag thread -menhir "menhir --table --strict --explain --dump"
locker = docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) -e TRAVIS=$(TRAVIS) -e TRAVIS_JOB_ID=$(TRAVIS_JOB_ID) ocaml-core
.SILENT:
elc: docker-build-date _tags src/* # src/error_messages.ml
$(locker) $(buildCmd) ./src/main.native
mv main.native elc
verify: ./verify.native
$(locker) ./verify.native
verify-trust: ./verify.native
$(locker) ./verify.native -trust-results
verify.native: elc test/*
$(locker) rm -f bisect*.out
$(locker) $(buildCmd) ./test/verify.native
coveralls: docker-build-date
$(locker) $(oce) ocveralls --prefix _build --send bisect000*.out
coverage: docker-build-date bisect*.out
$(locker) $(oce) bisect-ppx-report -I _build/ -html coverage/ bisect*.out
interactive: docker-build-date
$(locker) bash
docker-build-date: Dockerfile
docker build -t ocaml-core $(pwd)
echo $(buildDate) > docker-build-date
# src/handmade.messages: docker-build-date src/elang_parser.mly
# $(locker) $(oce) menhir --update-errors src/handmade.messages src/elang_parser.mly > $(TEMPFILE)
# mv $(TEMPFILE) src/handmade.messages
# rm -f $(TEMPFILE)
# src/error_messages.ml: docker-build-date src/handmade.messages
# $(locker) $(oce) menhir --compile-errors src/handmade.messages src/elang_parser.mly > src/error_messages.ml
clean:
$(locker) rm -rf _build coverage* elc