## .PHONY so it always rebuilds it .PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload lcov-clean # run lcov from scratch, always lcov-reset: $(MAKE) lcov-run $(MAKE) lcov-report # run lcov from scratch if the dir is not there lcov: $(MAKE) lcov-reset if GST_GCOV_ENABLED # reset lcov stats lcov-clean: @-rm -rf lcov lcov --directory . --zerocounters # reset run coverage tests lcov-run: -$(MAKE) lcov-clean -if test -d tests/check; then $(MAKE) -C tests/check inspect; fi -$(MAKE) check # generate report based on current coverage data lcov-report: mkdir lcov lcov --compat-libtool --directory . --capture --output-file lcov/lcov.info lcov --list-full-path -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d\| -f1 > lcov/remove lcov --list-full-path -l lcov/lcov.info | grep "tests/check/" | cut -d\| -f1 >> lcov/remove lcov --list-full-path -l lcov/lcov.info | grep "docs/plugins/" | cut -d\| -f1 >> lcov/remove lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info rm lcov/remove mv lcov/lcov.cleaned.info lcov/lcov.info genhtml -t "$(PACKAGE_STRING)" -o lcov --num-spaces 2 lcov/lcov.info lcov-upload: lcov rsync -rvz -e ssh --delete lcov/* gstreamer.freedesktop.org:/srv/gstreamer.freedesktop.org/www/data/coverage/lcov/$(PACKAGE) else lcov-run: echo "Need to reconfigure with --enable-gcov" lcov-report: echo "Need to reconfigure with --enable-gcov" endif