Add test OBJs to CLEAN in tests.mk
[gfxprim.git] / tests.mk
blobe4cf3bbe43a53cd093a528c2cd6aa771abd735e9
1 .PHONY: tests runtests
4 # List of test targets (testsuite incl. automatically)
6 ifndef TESTS
7 TESTS=
8 endif
11 # Testsuite with automated collection of tests
12 # All .test.c files are scraped for GP_TEST definitions
15 ifdef TESTSUITE
16 # a bit crude way to link with test minilibrary
17 GP_TESTLIB_SRCS=$(wildcard ${TOPDIR}/tests/common/*.c)
18 CSOURCES+=${GP_TESTLIB_SRCS}
20 # generated suite creation code
21 TESTSUITE_GEN=collected_tests.gen.c # also fixed in the code generator
22 GENSOURCES+=${TESTSUITE_GEN}
24 ${TESTSUITE_GEN}: $(filter-out ${TESTSUITE_GEN},${GENSOURCES}) ${GENHEADERS}
26 TESTSUITE_SRCS=$(wildcard *.test.c) ${GENSOURCES} ${GENHEADERS} ${GP_TESTLIB_SRCS}
27 INCLUDE+=../tests/common
28 TESTSUITE_OBJS=$(patsubst %.c,%.o,$(TESTSUITE_SRCS))
29 CLEAN+=${TESTSUITE} ${TESTSUITE_OBJS}
30 TESTS+=${TESTSUITE}
32 ${TESTSUITE}: ${TESTSUITE_OBJS}
33 ifdef VERBOSE
34 $(CC) $(CFLAGS) $(LDFLAGS) -Wl,--start-group $(LDLIBS) $^ -Wl,--end-group -o $@
35 else
36 @echo "LD $@"
37 @$(CC) $(CFLAGS) $(LDFLAGS) -Wl,--start-group $(LDLIBS) $^ -Wl,--end-group -o $@
38 endif # VERBOSE
40 endif # TESTSUITE
42 tests: $(TESTS)
44 runtests: tests
45 for test in $(TESTS); do LD_LIBRARY_PATH=../../build ./"$$test" -v ; done
47 # WARN: avoid double includion?
48 include $(TOPDIR)/gen.mk