SUBDIRS = data		\
          src		\
	  tests

EXTRA_DIST = \
	ChangeLog

DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall

dist-hook:
	@if test -d "$(top_srcdir)/.bzr"; \
		then \
			echo Creating ChangeLog && \
				( cd "$(top_srcdir)" && \
				echo '# Generated by Makefile. Do not edit.'; echo; \
				$(top_srcdir)/missing --run bzr log --gnu-changelog ) > ChangeLog.tmp \
				&& mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
				|| (rm -f ChangeLog.tmp; \
					echo Failed to generate ChangeLog >&2 ); \
        else \
			echo Failed to generate ChangeLog: not a branch >&2; \
	fi
	@if test -d "$(top_srcdir)/.bzr"; \
		then \
			echo Creating AUTHORS && \
				( cd "$(top_srcdir)" && \
				echo '# Generated by Makefile. Do not edit.'; echo; \
				$(top_srcdir)/missing --run  bzr log --long --levels=0 | grep -e "^\s*author:" -e "^\s*committer:" | cut -d ":" -f 2 | cut -d "<" -f 1 | sort -u) > AUTHORS.tmp \
				&& mv -f AUTHORS.tmp $(top_distdir)/AUTHORS \
				|| (rm -f AUTHORS.tmp; \
					echo Failed to generate AUTHORS >&2 ); \
        else \
			echo Failed to generate AUTHORS: not a branch >&2; \
	fi


# Coverage targets

.PHONY: clean-gcda
clean-gcda:
	@echo Removing old coverage results
	-find -name '*.gcda' -print | xargs -r rm

.PHONY: coverage-html generate-coverage-html clean-coverage-html
coverage-html: clean-gcda
	-$(MAKE) $(AM_MAKEFLAGS) -k check
	$(MAKE) $(AM_MAKEFLAGS) generate-coverage-html

generate-coverage-html:
	@echo Collecting coverage data
	$(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
	LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info

clean-coverage-html: clean-gcda
	-$(LCOV) --directory $(top_builddir) -z
	-rm -rf coverage.info coveragereport

.PHONY: coverage-xml generate-coverage-xml clean-coverage-xml
coverage-xml: clean-gcda
	-$(MAKE) $(AM_MAKEFLAGS) -k check
	$(MAKE) $(AM_MAKEFLAGS) generate-coverage-xml

generate-coverage-xml:
	@echo Generating coverage XML report
	$(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml

clean-coverage-xml: clean-gcda
	-rm -rf $(top_builddir)/coverage.xml

clean-local: clean-coverage-html clean-coverage-xml
