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