1# force some options
2DEBUG = yes
3
4-include ../Makefile.include
5CFLAGS += -I./ -I../ -Icu/
6LDFLAGS += -L./ -Lcu/ -lcu -lrt -lm -L../ -lccd
7
8CHECK_REG=cu/check-regressions
9CHECK_TS ?=
10
11OBJS = common.o support.o vec3.o polytope.o boxbox.o spheresphere.o \
12       cylcyl.o boxcyl.o mpr_boxbox.o mpr_cylcyl.o mpr_boxcyl.o
13BENCH_OBJS = bench-boxbox.o
14
15
16all: test bench bench2
17
18test: cu $(OBJS) main.c
19	$(CC) $(CFLAGS) -o $@ main.c $(OBJS) $(LDFLAGS)
20
21bench: cu bench.c support.o
22	$(CC) $(CFLAGS) -o $@ bench.c support.o $(LDFLAGS)
23bench2: cu bench2.c support.o
24	$(CC) $(CFLAGS) -o $@ bench2.c support.o $(LDFLAGS)
25
26%.o: %.c %.h
27	$(CC) $(CFLAGS) -c -o $@ $<
28%.o: %.c
29	$(CC) $(CFLAGS) -c -o $@ $<
30
31check: all
32	@echo ""
33	@echo "----------------------------------------";
34	./test $(CHECK_TS)
35	@echo "----------------------------------------";
36	@echo "Checking regressions:";
37	$(PYTHON) $(CHECK_REG) regressions
38	@echo ""
39
40check-valgrind: all
41	valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes \
42             --error-limit=no \
43             ./test $(CHECK_TS)
44
45check-valgrind-gen-suppressions: all
46	valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes \
47             --gen-suppressions=all --log-file=out --error-limit=no \
48             ./test $(CHECK_TS)
49
50cu:
51	$(MAKE) ENABLE_TIMER=yes -C cu/
52
53clean:
54	rm -f *.o
55	rm -f objs/*.o
56	rm -f test bench bench2
57	rm -f tmp.*
58	rm -f regressions/tmp.*
59
60.PHONY: all clean check check-valgrind cu
61
62