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