diff options
Diffstat (limited to 'build/Makefile.gcov')
-rw-r--r-- | build/Makefile.gcov | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/build/Makefile.gcov b/build/Makefile.gcov new file mode 100644 index 0000000000..640ac0a710 --- /dev/null +++ b/build/Makefile.gcov @@ -0,0 +1,78 @@ +# +# LCOV +# + +LCOV_INCLUDE="." + +lcov: lcov-html + +lcov-test: lcov-clean-data test + +php_lcov.info: lcov-test + @echo "Generating data for $@" + @rm -rf lcov_data/ + @$(mkinstalldirs) lcov_data/ + @echo + -@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` ;\ + for x in $$files; do \ + echo -n . ;\ + y=`echo $$x | sed -e 's!\.libs/!!'`; \ + dir=lcov_data/`dirname $$x`; \ + test -d "$$dir" || $(mkinstalldirs) "$$dir"; \ + if test -f "$(top_srcdir)/$$y.c"; then \ + ln -f -s $(top_srcdir)/$$y.c lcov_data/$$y.c; \ + fi; \ + if test -f "$(top_srcdir)/$$y.h"; then \ + ln -f -s $(top_srcdir)/$$y.h lcov_data/$$y.h; \ + fi; \ + if test -f "$(top_srcdir)/$$y.re"; then \ + ln -f -s $(top_srcdir)/$$y.re lcov_data/$$y.re; \ + fi; \ + if test -f "$(top_srcdir)/$$y.y"; then \ + ln -f -s $(top_srcdir)/$$y.y lcov_data/$$y.y; \ + fi; \ + if test -f "$(top_srcdir)/$$y.l"; then \ + ln -f -s $(top_srcdir)/$$y.l lcov_data/$$y.l; \ + fi; \ + if test -f "$(top_srcdir)/$$y"; then \ + ln -f -s $(top_srcdir)/$$y lcov_data/$$y; \ + fi; \ + if test -f "$(top_builddir)/$$y.c"; then \ + ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \ + fi; \ + if test -f "$$x.gcno"; then \ + cp $$x.gcno lcov_data/$$y.gcno ; \ + fi; \ + if test -f "$$x.gcda"; then \ + cp $$x.gcda lcov_data/$$y.gcda ; \ + fi; \ + if test -f "$$x.da"; then \ + cp $$x.da lcov_data/$$y.da ; \ + fi; \ + if test -f "$$x.bb"; then \ + cp $$x.bb lcov_data/$$y.bb ; \ + fi; \ + if test -f "$$x.bbg"; then \ + cp $$x.bbg lcov_data/$$y.bbg ; \ + fi; \ + done; \ + for dir in ext/date/lib ext/fileinfo/libmagic ext/gd/libgd ext/pcre/pcre2lib; do \ + if test -d lcov_data/$$dir; then \ + rm -rf lcov_data/$$dir ; \ + fi; \ + done + @echo + @echo "Generating $@" + @$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@ + +lcov-html: php_lcov.info + @echo "Generating lcov HTML" + @$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info + +lcov-clean: + rm -f php_lcov.info + rm -rf lcov_data/ + rm -rf lcov_html/ + +lcov-clean-data: + @find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f |