if CAIRO_HAS_LCOV # use recursive makes in order to ignore errors during check/perf lcov: -$(MAKE) $(AM_MAKEFLAGS) check $(MAKE) $(AM_MAKEFLAGS) genlcov lcov-perf: -$(MAKE) $(AM_MAKEFLAGS) perf $(MAKE) $(AM_MAKEFLAGS) genlcov # we have to massage the lcov.info file slightly to hide the effect of libtool # placing the objects files in the .libs/ directory separate from the *.c genlcov: $(LTP) --directory $(top_builddir) --path $(top_builddir) --capture --output-file cairo-lcov.info --test-name CAIRO_TEST --no-checksum $(SED) -e 's#.libs/##' \ -e 's#boilerplate/src#src#' \ -e 's#$(shell pwd)#$(shell cd $(top_srcdir) && pwd)#' \ < cairo-lcov.info > cairo-lcov.info.tmp LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory cairo-lcov --title "Cairo Code Coverage" --show-details cairo-lcov.info.tmp $(RM) cairo-lcov.info.tmp html-local: lcov else lcov lcov-perf genlcov: @echo You need to configure Cairo with support for gcov enabled. @echo e.g, ./configure --enable-gcov endif lcov-clean: if CAIRO_HAS_LCOV -$(LTP) --directory $(top_builddir) -z endif -$(RM) -r cairo-lcov.info cairo-lcov -$(FIND) -name '*.gcda' -print | $(XARGS) $(RM) distclean-local: lcov-clean .PHONY: lcov lcov-perf genlcov lcov-clean