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