1 2 AUTOMAKE_OPTIONS = foreign 1.10 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 # 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) 38 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@ 54 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) 58 59 vglibdir = $(pkglibdir) 60 vglib_DATA = default.supp 61 62 pkgconfigdir = $(libdir)/pkgconfig 63 pkgconfig_DATA = valgrind.pc 64 65 BUILT_SOURCES = default.supp include/vgversion.h valgrind.pc 66 CLEANFILES = default.supp 67 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 72 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. 92 93 ## Preprend @PERL@ because tests/vg_perf isn't executable 94 perf: check 95 @PERL@ perf/vg_perf perf 96 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 118 119 dist-hook: include/vgversion.h 120 cp -p include/vgversion.h $(distdir)/include/vgversion_dist.h 121 122 dist_noinst_SCRIPTS = \ 123 vg-in-place 124 125 all-local: default.supp include/vgversion.h 126 mkdir -p $(inplacedir) 127 rm -f $(inplacedir)/default.supp 128 ln -s ../default.supp $(inplacedir) 129 130 clean-local: 131 rm -rf $(inplacedir) include/vgversion.h 132 133 # Need config.h in the installed tree, since some files depend on it 134 pkginclude_HEADERS = config.h 135 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) 139 140 .PHONY: include/vgversion.h 141 142