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
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_*
15 rm -rf $(OBJDIR)/$(COVERREPORT)
16 find .. -name "run_test" -delete
18 coverage: $(OBJDIR)/$(COVERREPORT)/
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; \
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
34 $(OBJDIR)/$(COVERREPORT)/:
37 .PHONY: run clean coverage