1 2AUTOMAKE_OPTIONS = foreign 1.10 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# Put docs last because building the HTML is slow and we want to get 20# everything else working before we try it. 21SUBDIRS = \ 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 37DIST_SUBDIRS = $(SUBDIRS) 38 39SUPP_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 dragonfly.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 54DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ 55 56# We include all the base .supp files in the distribution, but not 57# default.supp, as it is built from the base .supp files at compile-time. 58dist_noinst_DATA = $(SUPP_FILES) 59 60vglibdir = $(pkglibdir) 61vglib_DATA = default.supp 62 63pkgconfigdir = $(prefix)/libdata/pkgconfig 64pkgconfig_DATA = valgrind.pc 65 66BUILT_SOURCES = default.supp include/vgversion.h valgrind.pc 67CLEANFILES = default.supp 68 69default.supp: $(DEFAULT_SUPP_FILES) 70 echo "# This is a generated file, composed of the following suppression rules:" > default.supp 71 echo "# " $(DEFAULT_SUPP_FILES) >> default.supp 72 cat $^ >> default.supp 73 74## Preprend @PERL@ because tests/vg_regtest isn't executable 75## Ensure make exits with error if PERL fails or post_regtest_checks fails. 76regtest: check 77 $(top_srcdir)/gdbserver_tests/make_local_links $(GDB) 78 if @PERL@ tests/vg_regtest gdbserver_tests $(TOOLS) $(EXP_TOOLS) ; then \ 79 tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \ 80 else \ 81 tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \ 82 false; \ 83 fi 84post-regtest-checks: 85 tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS) 86nonexp-regtest: check 87 @PERL@ tests/vg_regtest $(TOOLS) 88exp-regtest: check 89 @PERL@ tests/vg_regtest gdbserver_tests $(EXP_TOOLS) 90# Nb: gdbserver_tests are put in exp-regtest rather than nonexp-regtest 91# because they are tested with various valgrind tools, so might be using 92# an experimental tool. 93 94## Preprend @PERL@ because tests/vg_perf isn't executable 95perf: check 96 @PERL@ perf/vg_perf perf 97 98# Nb: no need to include any Makefile.am files here, or files included from 99# them, as automake includes them automatically. Also not COPYING, README 100# or NEWS. 101# We include valgrind.spec as well as valgrind.spec.in to save packagers 102# from having to run configure (bug 188560). 103EXTRA_DIST = \ 104 COPYING.DOCS \ 105 README_DEVELOPERS \ 106 README_DRAGONFLY \ 107 README_PACKAGERS \ 108 README_MISSING_SYSCALL_OR_IOCTL \ 109 README.s390 \ 110 README.android \ 111 README.android_emulator \ 112 README.mips \ 113 README.aarch64 \ 114 README.solaris \ 115 NEWS.old \ 116 valgrind.pc.in \ 117 valgrind.spec.in \ 118 valgrind.spec \ 119 autogen.sh 120 121dist-hook: include/vgversion.h 122 cp -p include/vgversion.h $(distdir)/include/vgversion_dist.h 123 124dist_noinst_SCRIPTS = \ 125 vg-in-place 126 127all-local: default.supp include/vgversion.h 128 mkdir -p $(inplacedir) 129 rm -f $(inplacedir)/default.supp 130 ln -s ../default.supp $(inplacedir) 131 132clean-local: 133 rm -rf $(inplacedir) include/vgversion.h 134 135# Need config.h in the installed tree, since some files depend on it 136pkginclude_HEADERS = config.h 137 138# vgversion.h defines accurate versions to report with -v --version 139include/vgversion.h: 140 $(top_srcdir)/auxprogs/make_or_upd_vgversion_h $(top_srcdir) 141 142.PHONY: include/vgversion.h 143 144