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