mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-26 18:10:11 +01:00
37 lines
1.2 KiB
Text
37 lines
1.2 KiB
Text
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
|