1
2AUTOMAKE_OPTIONS = foreign 1.7 dist-bzip2
3
4include $(top_srcdir)/Makefile.all.am 
5
6TOOLS =		memcheck \
7		cachegrind \
8		callgrind \
9		massif \
10		lackey \
11		none \
12		helgrind \
13		drd
14
15EXP_TOOLS = 	exp-sgcheck \
16		exp-bbv \
17		exp-dhat
18
19# DDD: once all tools work on Darwin, TEST_TOOLS and TEST_EXP_TOOLS can be
20# replaced with TOOLS and EXP_TOOLS.
21TEST_TOOLS = $(TOOLS)
22if !VGCONF_OS_IS_DARWIN
23  TEST_EXP_TOOLS = $(EXP_TOOLS)
24else
25  TEST_EXP_TOOLS = exp-bbv
26endif
27
28
29# Put docs last because building the HTML is slow and we want to get
30# everything else working before we try it.
31SUBDIRS = \
32	include \
33	VEX \
34	coregrind \
35	. \
36	$(TOOLS) \
37	$(EXP_TOOLS) \
38	tests \
39	perf \
40	gdbserver_tests \
41	auxprogs \
42	mpi \
43	docs
44DIST_SUBDIRS  = $(SUBDIRS)
45
46SUPP_FILES = \
47	glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp glibc-2.5.supp \
48	glibc-2.6.supp glibc-2.7.supp glibc-2.X.supp.in glibc-X.X.supp.in \
49	xfree-3.supp xfree-4.supp \
50	glibc-2.34567-NPTL-helgrind.supp \
51	glibc-2.2-LinuxThreads-helgrind.supp \
52	glibc-2.X-drd.supp \
53	exp-sgcheck.supp \
54	darwin9.supp darwin9-drd.supp \
55	darwin10.supp darwin10-drd.supp \
56	darwin11.supp \
57	bionic.supp
58DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
59
60# We include all the base .supp files in the distribution, but not
61# default.supp, as it is built from the base .supp files at compile-time.
62dist_noinst_DATA = $(SUPP_FILES)
63
64pkglib_DATA = default.supp
65
66pkgconfigdir = $(libdir)/pkgconfig
67pkgconfig_DATA = valgrind.pc
68
69BUILT_SOURCES  = default.supp valgrind.pc
70CLEANFILES     = default.supp
71
72default.supp: $(DEFAULT_SUPP_FILES)
73	echo "# This is a generated file, composed of the following suppression rules:" > default.supp
74	echo "# " $(DEFAULT_SUPP_FILES) >> default.supp
75	cat $(DEFAULT_SUPP_FILES) >> default.supp
76
77## Preprend @PERL@ because tests/vg_regtest isn't executable
78regtest: check
79	-tests/check_makefile_consistency gdbserver_tests $(TEST_TOOLS) $(TEST_EXP_TOOLS)
80	gdbserver_tests/make_local_links $(GDB)
81	@PERL@ tests/vg_regtest gdbserver_tests $(TEST_TOOLS) $(TEST_EXP_TOOLS)
82nonexp-regtest: check
83	@PERL@ tests/vg_regtest $(TEST_TOOLS)
84exp-regtest: check
85	@PERL@ tests/vg_regtest gdbserver_tests $(TEST_EXP_TOOLS)
86# Nb: gdbserver_tests are put in exp-regtest rather than nonexp-regtest
87# because they are tested with various valgrind tools, so might be using
88# an experimental tool.
89
90## Preprend @PERL@ because tests/vg_perf isn't executable
91perf: check
92	@PERL@ perf/vg_perf perf
93
94# Nb: no need to include any Makefile.am files here, or files included from
95# them, as automake includes them automatically.  Also not COPYING, README
96# or NEWS.
97# We include valgrind.spec as well as valgrind.spec.in to save packagers
98# from having to run configure (bug 188560).
99EXTRA_DIST = \
100	COPYING.DOCS \
101	README_DEVELOPERS \
102	README_PACKAGERS \
103	README_MISSING_SYSCALL_OR_IOCTL \
104	README.s390 \
105	README.android \
106	valgrind.pc.in \
107	valgrind.spec.in \
108	valgrind.spec
109
110dist_noinst_SCRIPTS = \
111	vg-in-place
112
113all-local: default.supp
114	mkdir -p $(inplacedir)
115	rm -f $(inplacedir)/default.supp
116	ln -s ../default.supp $(inplacedir)
117
118clean-local:
119	rm -rf $(inplacedir)
120
121# Need config.h in the installed tree, since some files depend on it
122pkginclude_HEADERS = config.h
123