-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile
40 lines (29 loc) · 663 Bytes
/
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
HS = $(shell find src examples -type f -name '*.hs' \
-not -path 'examples/dpj/*' -not -path 'examples/nbody/*')
# Dummy target
CHS = $(subst hs,chs,$(HS))
DOCKER ?= true
TIMEIT ?=
ifeq ($(DOCKER),true)
STACK ?= stack --docker
ALL = docker build check
else
STACK ?= stack
ALL = build check
endif
LIQUID ?= $(STACK) exec liquid --
ifeq ($(TIMEIT),true)
LIQUID := time $(LIQUID) -q >/dev/null
endif
all: $(ALL)
docker:
docker build -t parfunc/verified-instances .
build:
$(STACK) build
check: build $(CHS)
%.chs: %.hs
$(LIQUID) -i src $<
clean:
find . -type d -name '.liquid' -exec rm -rf {} \+
$(STACK) clean
.PHONY: docker build check clean