aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 0a3f24b48e16139069e5d2f3603bdf007714c6ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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