-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
105 lines (78 loc) · 2.54 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
GSC_FLAGS= -prelude "(declare (not safe))"
CONFIG_FILE= config-release.scm
LC_STRAT=strat1
all: config values.o1 types.o1 analyses.o1 float.o1 utils.o1 main.o1 native.o1 mem.o1 codegen.o1 ast.o1 core.o1 expand.o1 ctx.o1 lib
cp lazy-comp.template lc
chmod u+x lc
debug: GSC_FLAGS= -debug
debug: CONFIG_FILE= config-debug.scm
debug: all
dummy:
@:
.PHONY: lib config dummy
lib:
gsi ./build-lib
config:
cp $(CONFIG_FILE) config.scm
values.o1: values.scm
gsc $(GSC_FLAGS) -o $@ $<
types.o1: $(and $(LC_STRAT),dummy)
gsc $(GSC_FLAGS) -o $@ $(LC_STRAT).scm
ctx.o1: ctx.scm
gsc $(GSC_FLAGS) -o $@ $<
codegen.o1: codegen.scm
gsc $(GSC_FLAGS) -o $@ $<
float.o1: float.scm
gsc $(GSC_FLAGS) -o $@ $<
utils.o1: utils.scm
gsc $(GSC_FLAGS) -o $@ $<
main.o1: main.scm
gsc $(GSC_FLAGS) -o $@ $<
native.o1: native.scm
gsc $(GSC_FLAGS) -o $@ $<
mem.o1: mem.scm
gsc $(GSC_FLAGS) -o $@ $<
ast.o1: ast.scm
gsc $(GSC_FLAGS) -o $@ $<
core.o1: core.scm
gsc $(GSC_FLAGS) -o $@ $<
expand.o1: expand.scm
gsc $(GSC_FLAGS) -o $@ $<
analyses.o1: analyses.scm
gsc $(GSC_FLAGS) -o $@ $<
# Run unit tests
test:
rm ./unit-tests/mutable-out -rf
./run-ut.scm
all-tests:
rm ./unit-tests/mutable-out -rf
./run-ut.scm
./run-ut.scm --disable-inlined-call
./run-ut.scm --disable-entry-points --disable-return-points
./run-ut.scm --max-versions 5
./run-ut.scm --max-versions 5 --disable-regalloc-vers
./run-ut.scm --max-versions 0 --disable-float-unboxing
# Run full unit tests with and without entry and return points
ext-tests:
rm ./unit-tests/mutable-out -rf
./run-ut.scm
./run-ut.scm --disable-inlined-call
./run-ut.scm --disable-entry-points --disable-inlined-call
./run-ut.scm --disable-entry-points
./run-ut.scm --disable-return-points
./run-ut.scm --disable-entry-points --disable-return-points
./run-ut.scm --max-versions 5
./run-ut.scm --max-versions 5 --enable-const-vers --enable-cxoverflow-fallback
./run-ut.scm --max-versions 1
./run-ut.scm --disable-regalloc-vers
./run-ut.scm --disable-inlined-call --disable-regalloc-vers
./run-ut.scm --disable-entry-points --disable-inlined-call --disable-regalloc-vers
./run-ut.scm --disable-entry-points --disable-regalloc-vers
./run-ut.scm --disable-return-points --disable-regalloc-vers
./run-ut.scm --disable-entry-points --disable-return-points --disable-regalloc-vers
./run-ut.scm --max-versions 5 --disable-regalloc-vers
./run-ut.scm --max-versions 5 --enable-const-vers --enable-cxoverflow-fallback --disable-regalloc-vers
./run-ut.scm --max-versions 1 --disable-regalloc-vers
# Clean
clean:
rm -rf *~ *.o1* lc