Commit | Line | Data |
---|---|---|
1c975d08 SK |
1 | MAKEFLAGS := --no-builtin-rules |
2 | ||
78c9eca5 SK |
3 | EXE_TYPE := byte # byte | native |
4 | EXECUTABLES := tigerc tiger_tests | |
1c975d08 | 5 | OCAMLBUILD_FLAGS := -I src/exe -I src/lib/tiger |
78c9eca5 | 6 | OCAMLBUILD := ocamlbuild $(OCAMLBUILD_FLAGS) |
1c975d08 SK |
7 | |
8 | .PHONY: \ | |
9 | all \ | |
10 | build \ | |
11 | clean \ | |
12 | test | |
13 | ||
14 | all: | |
78c9eca5 SK |
15 | @$(MAKE) -s clean |
16 | @$(MAKE) -s build | |
17 | @$(MAKE) -s test | |
1c975d08 SK |
18 | |
19 | build: | |
78c9eca5 SK |
20 | @$(OCAMLBUILD) $(addsuffix .$(EXE_TYPE),$(EXECUTABLES)) |
21 | @mkdir -p bin/exe | |
22 | $(foreach exe,$(EXECUTABLES),cp _build/src/exe/$(exe).$(EXE_TYPE) bin/exe/$(exe); ) | |
23 | @rm $(addsuffix .$(EXE_TYPE),$(EXECUTABLES)) | |
1c975d08 SK |
24 | |
25 | clean: | |
78c9eca5 SK |
26 | @$(OCAMLBUILD) -clean |
27 | @rm -rf ./bin | |
1c975d08 | 28 | |
78c9eca5 SK |
29 | test: bin/exe/tiger_tests |
30 | @./$< |