Home | History | Annotate | Download | only in valgrind
      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