-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
35 lines (27 loc) · 1.41 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
idris2 = idris2
test = idris2/basic055/Test
build: src stg-idris2.ipkg FORCE
$(idris2) --build stg-idris2.ipkg
FORCE:
watch:
while inotifywait -e close_write -r src; do $(idris2) --typecheck stg-idris2.ipkg; done
clean:
$(idris2) --clean stg-idris2.ipkg
rm -r build
typecheck:
$(idris2) --typecheck stg-idris2.ipkg
repl:
rlwrap $(idris2) --repl stg-idris2.ipkg
test: FORCE
mkdir -p stg/
mkdir -p idris-dump/
rm -rf stg/latest.json
./build/exec/stg-idris2 --cg stg test/$(test).idr -o $(shell pwd)/stg/latest.json --dumpcases idris-dump/latest.cases --dumplifted idris-dump/latest.lifted --dumpanf idris-dump/latest.anf --dumpvmcode idris-dump/latest.vm
ext-stg-interpreter -t stg/latest.json --libhsbase-path `pwd`/libHSbase-4.14.0.0.cbits.so -p `pwd`/data/ghc-rts-base.fullpak -p `pwd`/data/idris-haskell-interface.fullpak
test-tee: FORCE
mkdir -p stg/
mkdir -p idris-dump/
rm -rf stg/latest.json
./build/exec/stg-idris2 --cg stg test/$(test).idr -o $(shell pwd)/stg/latest.json --dumpcases idris-dump/latest.cases --dumplifted idris-dump/latest.lifted --dumpanf idris-dump/latest.anf --dumpvmcode idris-dump/latest.vm --directive debug-info | tee idris-dump/latest.run
# cat stg/latest.json | jq . > stg/latest.pretty.json
ext-stg-interpreter -s -t stg/latest.json --libhsbase-path `pwd`/libHSbase-4.14.0.0.cbits.so -p `pwd`/data/ghc-rts-base.fullpak -p `pwd`/data/idris-haskell-interface.fullpak | tee stg/latest.stg