-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathMakefile
69 lines (52 loc) · 1.21 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
E := UVMHSMain.main
.PHONY: build
build:
stack build
.PHONY: dev
dev: .stack-work
ghcid --warnings --run=$E --command="stack ghci uvmhs:lib --ghc-options='-DUVMHS_TESTS'"
.stack-work:
stack setup
.PHONY: run
eval:
stack ghci --ghci-options -e --ghci-options $E
.PHONY: run
run:
stack run
.PHONY: profile
profile:
stack run --profile -- +RTS -p
.PHONY: trace
trace:
stack run --trace
.PHONY: ghci
ghci:
stack ghci
.PHONY: docs
docs:
stack haddock
rm -rf ./docs
cp -r `stack path --local-doc-root` ./docs
.PHONY: clean
clean:
stack clean --full
rm -f $(NAME).cabal
rm -rf doc
.PHONY: hoogle
hoogle:
stack hoogle -- generate --local
(sleep 1 && open http://localhost:8080/?scope=package%3A$(NAME)) &
stack hoogle -- server --local --port=8080
ALL_HS_FILES := $(shell find src -name '*.hs')
fixity-levels.txt: Makefile $(ALL_HS_FILES)
grep -hE '^infix' $(ALL_HS_FILES) | sed -E "s/^infix([rl]?)[ ]*(.*)$$/\\2 [\\1]/g" | sort > $@
echo "" >> $@
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $@
echo "" >> $@
grep -E '^infix' $(ALL_HS_FILES) >> $@
.PHONY: count-lines
count-lines:
find src -name "*.hs" | xargs wc -l
.PHONY: local-readme-github
github-preview:
grip --browser