xref: /PHP-7.2/Makefile.gcov (revision 60a69dae)
1#
2# LCOV
3#
4
5LCOV_INCLUDE="."
6
7lcov: lcov-html
8
9lcov-test: lcov-clean-data test
10
11php_lcov.info: lcov-test
12	@echo "Generating data for $@"
13	@rm -rf lcov_data/
14	@$(mkinstalldirs) lcov_data/
15	@echo
16	-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.c -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | $(EGREP) $(LCOV_INCLUDE) | sed -e 's/.libs/zzzz/g' | sort | sed -e 's/zzzz/.libs/g' | uniq` ;\
17	for x in $$files; do \
18		echo -n . ;\
19		y=`echo $$x | sed -e 's!\.libs/!!'`; \
20		dir=lcov_data/`dirname $$x`; \
21		test -d "$$dir" || $(mkinstalldirs) "$$dir"; \
22		if test -f "$(top_srcdir)/$$y.c"; then \
23			ln -f -s $(top_srcdir)/$$y.c lcov_data/$$y.c; \
24		fi; \
25		if test -f "$(top_srcdir)/$$y.h"; then \
26			ln -f -s $(top_srcdir)/$$y.h lcov_data/$$y.h; \
27		fi; \
28		if test -f "$(top_srcdir)/$$y.re"; then \
29			ln -f -s $(top_srcdir)/$$y.re lcov_data/$$y.re; \
30		fi; \
31		if test -f "$(top_srcdir)/$$y.y"; then \
32		        ln -f -s $(top_srcdir)/$$y.y lcov_data/$$y.y; \
33		fi; \
34		if test -f "$(top_srcdir)/$$y.l"; then \
35		        ln -f -s $(top_srcdir)/$$y.l lcov_data/$$y.l; \
36		fi; \
37		if test -f "$(top_srcdir)/$$y"; then \
38		        ln -f -s $(top_srcdir)/$$y lcov_data/$$y; \
39		fi; \
40		if test -f "$(top_builddir)/$$y.c"; then \
41			ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \
42		fi; \
43		if test -f "$$x.gcno"; then \
44			cp $$x.gcno lcov_data/$$y.gcno ; \
45		fi; \
46		if test -f "$$x.gcda"; then \
47			cp $$x.gcda lcov_data/$$y.gcda ; \
48		fi; \
49		if test -f "$$x.da"; then \
50			cp $$x.da   lcov_data/$$y.da ; \
51		fi; \
52		if test -f "$$x.bb"; then \
53			cp $$x.bb   lcov_data/$$y.bb ; \
54		fi; \
55		if test -f "$$x.bbg"; then \
56			cp $$x.bbg  lcov_data/$$y.bbg ; \
57		fi; \
58	done; \
59	for dir in ext/bcmath/libbcmath ext/date/lib ext/fileinfo/libmagic ext/gd/libgd ext/mbstring/libmbfl ext/mbstring/oniguruma ext/pcre/pcrelib ext/pdo_sqlite/libsqlite ext/sqlite3/libsqlite ext/xmlrpc/libxmlrpc ext/zip/lib; do \
60		if test -d lcov_data/$$dir; then \
61			rm -rf lcov_data/$$dir ; \
62		fi; \
63	done
64	@echo
65	@echo "Generating $@"
66	@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
67
68lcov-html: php_lcov.info
69	@echo "Generating lcov HTML"
70	@$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info
71
72lcov-clean:
73	rm -f php_lcov.info
74	rm -rf lcov_data/
75	rm -rf lcov_html/
76
77lcov-clean-data:
78	@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
79