diff options
Diffstat (limited to 'Makefile.gcov')
-rw-r--r-- | Makefile.gcov | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Makefile.gcov b/Makefile.gcov new file mode 100644 index 0000000..946f539 --- /dev/null +++ b/Makefile.gcov @@ -0,0 +1,65 @@ + +# +# LCOV +# + +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 \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//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; \ + test -f "$$x.gcno" && cp $$x.gcno lcov_data/$$y.gcno ; \ + test -f "$$x.gcda" && cp $$x.gcda lcov_data/$$y.gcda ; \ + test -f "$$x.da" && cp $$x.da lcov_data/$$y.da ; \ + test -f "$$x.bb" && cp $$x.bb lcov_data/$$y.bb ; \ + test -f "$$x.bbg" && cp $$x.bbg lcov_data/$$y.bbg ; \ + done + 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 \ + test -d lcov_data/$$dir && rm -rf lcov_data/$$dir ; \ + 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 |