tests: infrastructure for implementing mock headers.
[oweals/dinit.git] / src / tests / Makefile
1 -include ../../mconfig
2
3 objects = tests.o test-dinit.o
4 parent_objs = service.o baseproc-service.o proc-service.o dinit-log.o load_service.o
5
6 check: build-tests
7         ./tests
8
9 build-tests: prepare-incdir tests
10
11 # Create an "includes" directory populated with a combination of real and mock headers:
12 prepare-incdir:
13         mkdir -p includes
14         rm -rf includes/*.h
15         cd includes; ln -sf ../../includes/*.h .
16         cd includes; ln -sf ../test-includes/*.h .
17
18 tests: $(objects) $(parent_objs)
19         $(CXX) $(SANITIZEOPTS) -o tests $(objects) $(parent_objs) $(EXTRA_LIBS)
20
21 $(objects): %.o: %.cc
22         $(CXX) $(CXXOPTS) $(SANITIZEOPTS) -Iincludes -I../dasynq -c $< -o $@
23
24 $(parent_objs): %.o: ../%.cc
25         $(CXX) $(CXXOPTS) $(SANITIZEOPTS) -Iincludes -I../dasynq -c $< -o $@
26
27 clean:
28         rm -f *.o *.d
29
30 $(objects:.o=.d): %.d: %.cc
31         $(CXX) $(CXXOPTS) -Iincludes -I../dasynq -MM -MG -MF $@ $<
32
33 include $(objects:.o=.d)