summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 6af784f15a2acee97192b456f514fc4528077595 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
ACLOCAL_AMFLAGS = --install -I m4 ${ACLOCAL_FLAGS}

NULL =

SUBDIRS = \
	gee \
	vala \
	ccode \
	codegen \
	compiler \
	vapi \
	tests \
	doc \
	gobject-introspection \
	vapigen \
	$(NULL)

if ENABLE_VALADOC
SUBDIRS += \
	libvaladoc \
	valadoc \
	$(NULL)
endif

DISTCHECK_CONFIGURE_FLAGS = \
	--enable-valadoc \
	--enable-unversioned \
	$(NULL)

if ENABLE_UNVERSIONED
aclocaldir = $(datadir)/aclocal
aclocal_DATA = vala.m4
endif

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libvala@PACKAGE_SUFFIX@.pc

libvala@PACKAGE_SUFFIX@.pc: libvala.pc
	cp $< $@

.PHONY: bootstrap
bootstrap: all
	find $(top_srcdir) -name "*.vala.stamp" | xargs rm -f
	$(MAKE) $(AM_MAKEFLAGS) all VALAC=$(abs_top_builddir)/compiler/valac$(EXEEXT) V=$V \
		VALAFLAGS="$(VALAFLAGS) --hide-internal --abi-stability"

.PHONY: test
test:
	cd tests && $(MAKE) $(AM_MAKEFLAGS) check

.PHONY: test-asan
test-asan:
	cd tests && $(MAKE) $(AM_MAKEFLAGS) check TEST_CFLAGS="$(TEST_CFLAGS) -g3 -fsanitize=address -fno-omit-frame-pointer"

.PHONY: test-ubsan
test-ubsan:
	cd tests && $(MAKE) $(AM_MAKEFLAGS) check TEST_CFLAGS="$(TEST_CFLAGS) -g3 -fsanitize=undefined"

.PHONY: test-update
test-update:
	cd tests && $(MAKE) $(AM_MAKEFLAGS) check UPDATE_EXPECTED=1

#if ENABLE_COVERAGE
.PHONY: coverage coverage-report
coverage:
	find $(top_srcdir) -name "*.gcda" | xargs rm -f
	$(MAKE) $(AM_MAKEFLAGS) bootstrap
	$(MAKE) $(AM_MAKEFLAGS) test

coverage-report: coverage
	lcov --directory $(top_srcdir) --capture --output-file $(top_builddir)/lcov.info
	lcov --directory $(top_srcdir) --output-file $(top_builddir)/lcov.info --remove $(top_builddir)/lcov.info "*.c" "*.h" "*.vapi"
	rm -rf $(top_builddir)/coverage
	$(mkdir_p) $(top_builddir)/coverage
	genhtml --title "@PACKAGE_STRING@" --output-directory $(top_builddir)/coverage $(top_builddir)/lcov.info
#endif

BUILT_SOURCES = $(top_srcdir)/.version
$(top_srcdir)/.version: gen-version
	@true
.PHONY: gen-version
gen-version:
	@V=`$(top_srcdir)/build-aux/git-version-gen --prefix '' $(top_srcdir)/.tarball-version` &&	\
	if [ -e $(top_srcdir)/.version ] && [ "x`cat $(top_srcdir)/.version`" = "x$$V" ]; then		\
	  true;												\
	else												\
	  echo "$$V" > $(top_srcdir)/.version;								\
	fi
dist-hook: gen-ChangeLog
	echo '$(VERSION)' > $(distdir)/.tarball-version

gen_start_date = 2009-02-25
.PHONY: gen-ChangeLog
gen-ChangeLog:
	if test -d .git; then						\
	  $(top_srcdir)/build-aux/gitlog-to-changelog			\
	    --since=$(gen_start_date) > $(distdir)/cl-t;		\
	  rm -f $(distdir)/ChangeLog;					\
	  mv $(distdir)/cl-t $(distdir)/ChangeLog;			\
	fi

CLEANFILES = \
	libvala@PACKAGE_SUFFIX@.pc \
	$(NULL)

EXTRA_DIST = \
	ChangeLog.pre-0-4 \
	ChangeLog.pre-0-5-7 \
	README.md \
	libvala.pc.in \
	vala.m4 \
	.version \
	build-aux/git-version-gen \
	build-aux/gitlog-to-changelog \
	build-aux/testrunner.sh \
	$(NULL)