Check Makefile.am consistency before running regression tests. Closes #283813.
[ambi/valgrind.git] / Makefile.am
1
2 AUTOMAKE_OPTIONS = foreign 1.7 dist-bzip2
3
4 include $(top_srcdir)/Makefile.all.am 
5
6 TOOLS =         memcheck \
7                 cachegrind \
8                 callgrind \
9                 massif \
10                 lackey \
11                 none \
12                 helgrind \
13                 drd
14
15 EXP_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.
21 TEST_TOOLS = $(TOOLS)
22 if !VGCONF_OS_IS_DARWIN
23   TEST_EXP_TOOLS = $(EXP_TOOLS)
24 else
25   TEST_EXP_TOOLS = exp-bbv
26 endif
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.
31 SUBDIRS = \
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
44 DIST_SUBDIRS  = $(SUBDIRS)
45
46 SUPP_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 \
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
58 DEFAULT_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.
62 dist_noinst_DATA = $(SUPP_FILES)
63
64 pkglib_DATA = default.supp
65
66 pkgconfigdir = $(libdir)/pkgconfig
67 pkgconfig_DATA = valgrind.pc
68
69 BUILT_SOURCES  = default.supp valgrind.pc
70 CLEANFILES     = default.supp
71
72 default.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
78 regtest: 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)
82 nonexp-regtest: check
83         @PERL@ tests/vg_regtest $(TEST_TOOLS)
84 exp-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
91 perf: 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).
99 EXTRA_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
110 dist_noinst_SCRIPTS = \
111         vg-in-place
112
113 all-local: default.supp
114         mkdir -p $(inplacedir)
115         rm -f $(inplacedir)/default.supp
116         ln -s ../default.supp $(inplacedir)
117
118 clean-local:
119         rm -rf $(inplacedir)
120
121 # Need config.h in the installed tree, since some files depend on it
122 pkginclude_HEADERS = config.h