-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
66 lines (49 loc) · 1.34 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
CPL := sbcl
NAME := npuzzle
NAME_TEST := npuzzle_test
NAME_BENCH := npuzzle_bench
MAIN := src/main.lisp
TEST := test/main.lisp
BENCH := bench/main.lisp
RTOPT := --dynamic-space-size 3072
RTOPT += --noinform
RTOPT += --disable-ldb
RTOPT += --lose-on-corruption
RTOPT += --end-runtime-options
TLOPT := --noprint
TLOPT += --disable-debugger
TLOPT += --load
RTOPT_TEST := --dynamic-space-size 3072
RTOPT_TEST += --end-runtime-options
TLOPT_TEST := --noprint
TLOPT_TEST += --load
RTOPT_BENCH := $(RTOPT)
TLOPT_BENCH := $(TLOPT)
RTOPT_DEBUG := $(RTOPT_TEST)
TLOPT_DEBUG := $(TLOPT_TEST)
ENDOPT := --end-toplevel-options
FLAGS := $(RTOPT) $(TLOPT)
FLAGS_TEST := $(RTOPT_TEST) $(TLOPT_TEST)
FLAGS_BENCH := $(RTOPT_BENCH) $(TLOPT_BENCH)
FLAGS_DEBUG := $(RTOPT_DEBUG) $(TLOPT_DEBUG)
.PHONY: default build build_debug build_test build_bench run run_test run_bench clean
.SILENT: build build_test build_bench clean
default: build
build: clean
$(CPL) $(FLAGS) $(MAIN) $(ENDOPT)
build_debug:
$(CPL) $(FLAGS_DEBUG) $(MAIN) $(ENDOPT)
build_test:
$(CPL) $(FLAGS_TEST) $(TEST) $(ENDOPT)
build_bench:
$(CPL) $(FLAGS_BENCH) $(BENCH) $(ENDOPT)
run: build
./$(NAME)
run_test: build_test
./$(NAME_TEST)
run_bench: build_bench
./$(NAME_BENCH)
clean:
rm -v $(NAME) 2> /dev/null || true
rm -v $(NAME_TEST) 2> /dev/null || true
rm -v $(NAME_BENCH) 2> /dev/null || true