blob: 5f8fd2e2fe886a2ed50d4e65f929160f4d2a5c36 [file] [log] [blame]
nethercote4388a402004-09-01 23:20:49 +00001include $(top_srcdir)/Makefile.tool.am
njn25e49d8e72002-09-23 09:36:25 +00002
njn29a5c012009-05-06 06:15:55 +00003SUBDIRS += perf
4
njn7375de32009-08-05 08:08:18 +00005EXTRA_DIST = docs/mc-manual.xml docs/mc-tech-docs.xml
6
njn8b68b642009-06-24 00:37:09 +00007#----------------------------------------------------------------------------
8# Headers
9#----------------------------------------------------------------------------
10
11pkginclude_HEADERS = \
12 memcheck.h
13
14noinst_HEADERS = \
15 mc_include.h
16
17#----------------------------------------------------------------------------
18# memcheck-<platform>
19#----------------------------------------------------------------------------
20
21noinst_PROGRAMS = memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@
22if VGCONF_HAVE_PLATFORM_SEC
23noinst_PROGRAMS += memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@
tomfb7bcde2005-11-07 15:24:38 +000024endif
njnf76d27a2009-05-28 01:53:07 +000025
tomfb7bcde2005-11-07 15:24:38 +000026MEMCHECK_SOURCES_COMMON = \
njn1d0825f2006-03-27 11:37:07 +000027 mc_leakcheck.c \
28 mc_malloc_wrappers.c \
njn86f12dc2005-03-14 01:16:05 +000029 mc_main.c \
sewardj7cf4e6b2008-05-01 20:24:26 +000030 mc_translate.c \
sewardj7ce71662008-05-02 10:33:15 +000031 mc_machine.c \
32 mc_errors.c
tomfb7bcde2005-11-07 15:24:38 +000033
sewardj9e6428a2010-06-02 00:31:34 +000034memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = \
35 $(MEMCHECK_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000036memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = \
37 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
38memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = \
39 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -O2
40memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
41 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
42memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = \
43 $(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
44memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = \
45 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +000046memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +000047 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +000048 @VALT_LOAD_ADDRESS_PRI@ \
sewardj9e6428a2010-06-02 00:31:34 +000049 $(LINK) \
50 $(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
51 $(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
52
njn8b68b642009-06-24 00:37:09 +000053if VGCONF_HAVE_PLATFORM_SEC
sewardj9e6428a2010-06-02 00:31:34 +000054memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = \
55 $(MEMCHECK_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000056memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = \
57 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
58memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = \
59 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -O2
60memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
61 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
62memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD = \
63 $(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
64memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = \
65 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +000066memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +000067 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +000068 @VALT_LOAD_ADDRESS_SEC@ \
sewardj9e6428a2010-06-02 00:31:34 +000069 $(LINK) \
70 $(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
71 $(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
njn8b68b642009-06-24 00:37:09 +000072endif
tomfb7bcde2005-11-07 15:24:38 +000073
njn8b68b642009-06-24 00:37:09 +000074mc_main.o: CFLAGS += -fomit-frame-pointer
tomfb7bcde2005-11-07 15:24:38 +000075
njn8b68b642009-06-24 00:37:09 +000076#----------------------------------------------------------------------------
77# vgpreload_memcheck-<platform>.so
78#----------------------------------------------------------------------------
njn25e49d8e72002-09-23 09:36:25 +000079
njn8b68b642009-06-24 00:37:09 +000080noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
81if VGCONF_HAVE_PLATFORM_SEC
82noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
83endif
sewardj2c48c7b2005-11-29 13:05:56 +000084
njn8b68b642009-06-24 00:37:09 +000085if VGCONF_OS_IS_DARWIN
86noinst_DSYMS = $(noinst_PROGRAMS)
87endif
sewardj1eff82b2006-10-17 00:56:43 +000088
njn8b68b642009-06-24 00:37:09 +000089VGPRELOAD_MEMCHECK_SOURCES_COMMON = mc_replace_strmem.c
sewardj1eff82b2006-10-17 00:56:43 +000090
njn8b68b642009-06-24 00:37:09 +000091vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = \
92 $(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
93vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
94 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
95vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
96 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC) -O2
97vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
98 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
99vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
100 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
101 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +0000102
njn8b68b642009-06-24 00:37:09 +0000103if VGCONF_HAVE_PLATFORM_SEC
104vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = \
105 $(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
106vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
107 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
108vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
109 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) -O2
110vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
111 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
112vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
113 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
114 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
115endif
njn683c6ee2002-11-12 10:53:31 +0000116
njn1d0825f2006-03-27 11:37:07 +0000117mc_replace_strmem.o: CFLAGS += -fno-omit-frame-pointer
njn3e884182003-04-15 13:03:23 +0000118