libamxp  1.4.0
Patterns C Implementation
makefile
Go to the documentation of this file.
1 PKG_CONFIG_LIBDIR := /usr/lib/pkgconfig:/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:$(PKG_CONFIG_LIBDIR)
2 MACHINE = $(shell $(CC) -dumpmachine)
3 SUBDIRS := $(wildcard amxp_*)
4 OBJDIR = ../output/$(MACHINE)/coverage
5 RESULTSDIR = ../output/result
6 COVERREPORT = report
7 
8 run: $(OBJDIR)/ $(RESULTSDIR)/
9  mkdir -p $(RESULTSDIR)/test
10  @for dir in $(SUBDIRS); do CMOCKA_XML_FILE=../$(RESULTSDIR)/test/$$dir.xml CMOCKA_MESSAGE_OUTPUT=xml make -C $$dir $@ || exit -1; done
11  @rm -rf $(OBJDIR)/test_*
12 
13 clean:
14  rm -rf $(OBJDIR)
15  rm -rf $(OBJDIR)/$(COVERREPORT)
16  find .. -name "run_test" -delete
17 
18 coverage: $(OBJDIR)/$(COVERREPORT)/
19  @cd $(OBJDIR) && \
20  for i in $$(find . -type f -iname "*.o" ! -iname "lex.*.o" ! -name "*.tab.o"); do \
21  gcov -c -b -f --long-file-names --preserve-paths $$i > /dev/null; \
22  done
23  @cd $(OBJDIR) && for i in $$(find . -name "*.h.gcov"); do rm $$i > /dev/null; done
24  cd $(OBJDIR)/.. && gcovr -k -p -r ../.. -s -g --html --html-details -o ./coverage/$(COVERREPORT)/index.html
25  cd $(OBJDIR)/.. && gcovr -k -p -r ../.. -s -g | tee ./coverage/$(COVERREPORT)/gcovr_summary.txt
26 
27 
28 $(OBJDIR)/:
29  mkdir -p $@
30 
31 $(RESULTSDIR)/:
32  mkdir -p $@
33 
34 $(OBJDIR)/$(COVERREPORT)/:
35  mkdir -p $@
36 
37 .PHONY: run clean coverage
38