drd: Add support for C11 thrd_create()
[valgrind.git] / Makefile.am
blob7749442e9f6aec79d6c5636814098a8c21c50a48
2 AUTOMAKE_OPTIONS = 1.10
4 include $(top_srcdir)/Makefile.all.am 
6 TOOLS = \
7                 memcheck \
8                 cachegrind \
9                 callgrind \
10                 helgrind \
11                 drd \
12                 massif \
13                 dhat \
14                 lackey \
15                 none
17 EXP_TOOLS = \
18                 exp-bbv
20 # Put docs last because building the HTML is slow and we want to get
21 # everything else working before we try it.
22 SUBDIRS = \
23         include \
24         VEX \
25         coregrind \
26         . \
27         $(TOOLS) \
28         $(EXP_TOOLS) \
29         shared \
30         tests \
31         perf \
32         gdbserver_tests \
33         memcheck/tests/vbit-test \
34         auxprogs \
35         mpi \
36         solaris \
37         docs
38 DIST_SUBDIRS  = $(SUBDIRS)
40 SUPP_FILES = \
41         glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp glibc-2.5.supp \
42         glibc-2.6.supp glibc-2.7.supp glibc-2.X.supp.in \
43         xfree-3.supp xfree-4.supp \
44         glibc-2.X-helgrind.supp \
45         glibc-2.2-LinuxThreads-helgrind.supp \
46         glibc-2.X-drd.supp \
47         darwin9.supp darwin9-drd.supp \
48         freebsd.supp freebsd-helgrind.supp freebsd-drd.supp \
49         darwin10.supp darwin10-drd.supp \
50         darwin11.supp darwin12.supp darwin13.supp darwin14.supp darwin15.supp \
51         darwin16.supp darwin17.supp \
52         bionic.supp \
53         solaris11.supp solaris12.supp \
54         musl.supp
55 DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
57 # We include all the base .supp files in the distribution, but not
58 # default.supp, as it is built from the base .supp files at compile-time.
59 dist_noinst_DATA = $(SUPP_FILES)
61 vglibdir = $(pkglibexecdir)
62 vglib_DATA = default.supp
64 pkgconfigdir = $(libdir)/pkgconfig
65 pkgconfig_DATA = valgrind.pc
67 BUILT_SOURCES  = default.supp include/vgversion.h valgrind.pc
68 CLEANFILES     = default.supp
70 default.supp: $(DEFAULT_SUPP_FILES)
71         echo "# This is a generated file, composed of the following suppression rules:" > default.supp
72         echo "# " $(DEFAULT_SUPP_FILES) >> default.supp
73         cat $^ >> default.supp
75 ## Preprend @PERL@ because tests/vg_regtest isn't executable
76 ## Ensure make exits with error if PERL fails or post_regtest_checks fails.
77 regtest: check
78         $(top_srcdir)/gdbserver_tests/make_local_links $(GDB)
79         if @PERL@ tests/vg_regtest gdbserver_tests $(TOOLS) $(EXP_TOOLS) ; then \
80            tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
81         else \
82            tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
83            false; \
84         fi
85 post-regtest-checks:
86         tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS)
87 nonexp-regtest: check
88         @PERL@ tests/vg_regtest $(TOOLS)
89 exp-regtest: check
90         @PERL@ tests/vg_regtest gdbserver_tests $(EXP_TOOLS)
91 # Nb: gdbserver_tests are put in exp-regtest rather than nonexp-regtest
92 # because they are tested with various valgrind tools, so might be using
93 # an experimental tool.
95 ## Preprend @PERL@ because tests/vg_perf isn't executable
96 perf: check
97         @PERL@ perf/vg_perf perf
99 # Auxiliary test suites run under valgrind
100 auxchecks: all
101         $(MAKE) -C auxprogs auxchecks
103 # Nb: no need to include any Makefile.am files here, or files included from
104 # them, as automake includes them automatically.  Also not COPYING, README
105 # or NEWS.
106 # We include valgrind.spec as well as valgrind.spec.in to save packagers
107 # from having to run configure (bug 188560).
108 EXTRA_DIST = \
109         COPYING.DOCS \
110         README_DEVELOPERS \
111         README_DEVELOPERS_processes \
112         README_PACKAGERS \
113         README_MISSING_SYSCALL_OR_IOCTL \
114         README.s390 \
115         README.android \
116         README.android_emulator \
117         README.mips \
118         README.aarch64 \
119         README.solaris \
120         README.freebsd \
121         NEWS.old \
122         valgrind.pc.in \
123         valgrind.spec.in \
124         valgrind.spec \
125         autogen.sh
127 dist-hook: include/vgversion.h
128         cp -p include/vgversion.h $(distdir)/include/vgversion_dist.h
130 dist_noinst_SCRIPTS = \
131         vg-in-place
133 all-local: default.supp include/vgversion.h
134         mkdir -p $(inplacedir)
135         rm -f $(inplacedir)/default.supp
136         ln -s ../default.supp $(inplacedir)
138 clean-local:
139         rm -rf $(inplacedir) include/vgversion.h
141 # Need config.h in the installed tree, since some files depend on it
142 pkginclude_HEADERS = config.h
144 # vgversion.h defines accurate versions to report with -v --version
145 include/vgversion.h:
146         $(top_srcdir)/auxprogs/make_or_upd_vgversion_h $(top_srcdir)
148 .PHONY: include/vgversion.h