blob: 153b38484c0157329e3301a73fa63b1f06741100 [file] [log] [blame]
bartccf17de2008-07-04 15:14:35 +00001include $(top_srcdir)/Makefile.tool.am
2
bartb36fec12011-10-14 17:53:30 +00003EXTRA_DIST = docs/drd-manual.xml docs/drd-xml-output.xsd
njn7375de32009-08-05 08:08:18 +00004
njn8b68b642009-06-24 00:37:09 +00005#----------------------------------------------------------------------------
6# Headers, flags
7#----------------------------------------------------------------------------
bart9d9fb662008-07-07 17:27:48 +00008
njn8b68b642009-06-24 00:37:09 +00009pkginclude_HEADERS = drd.h
bartccf17de2008-07-04 15:14:35 +000010
11noinst_HEADERS = \
12 drd_barrier.h \
bart09dc13f2009-02-14 15:13:31 +000013 drd_basics.h \
bart2a33acd2008-07-28 12:03:53 +000014 drd_bitmap.c \
bartccf17de2008-07-04 15:14:35 +000015 drd_bitmap.h \
16 drd_clientobj.h \
17 drd_clientreq.h \
18 drd_cond.h \
19 drd_error.h \
bart62cc2322010-03-07 10:54:21 +000020 drd_hb.h \
bart09dc13f2009-02-14 15:13:31 +000021 drd_load_store.h \
bartccf17de2008-07-04 15:14:35 +000022 drd_malloc_wrappers.h \
23 drd_mutex.h \
24 drd_rwlock.h \
bart2a33acd2008-07-28 12:03:53 +000025 drd_segment.c \
bartccf17de2008-07-04 15:14:35 +000026 drd_segment.h \
27 drd_semaphore.h \
28 drd_suppression.h \
sewardj059b3702008-07-23 20:08:41 +000029 drd_thread.c \
bart2a33acd2008-07-28 12:03:53 +000030 drd_thread.h \
31 drd_thread_bitmap.h \
sewardj059b3702008-07-23 20:08:41 +000032 drd_vc.c \
bart2a33acd2008-07-28 12:03:53 +000033 drd_vc.h \
34 pub_drd_bitmap.h
bartccf17de2008-07-04 15:14:35 +000035
njn8b68b642009-06-24 00:37:09 +000036DRD_CFLAGS = \
37 @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@ \
38 -O2 \
39 @FLAG_W_EXTRA@ \
40 -Wformat-nonliteral \
41 -Wno-inline \
42 -Wno-unused-parameter
bartccf17de2008-07-04 15:14:35 +000043
bart38ad31a2010-09-02 14:09:57 +000044#DRD_CFLAGS += -DENABLE_DRD_CONSISTENCY_CHECKS
45
njn8b68b642009-06-24 00:37:09 +000046#----------------------------------------------------------------------------
47# drd-<platform>
48#----------------------------------------------------------------------------
bartccf17de2008-07-04 15:14:35 +000049
njn8b68b642009-06-24 00:37:09 +000050noinst_PROGRAMS = drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@
51if VGCONF_HAVE_PLATFORM_SEC
52noinst_PROGRAMS += drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@
53endif
bartccf17de2008-07-04 15:14:35 +000054
njn8b68b642009-06-24 00:37:09 +000055DRD_SOURCES_COMMON = \
56 drd_barrier.c \
njn8b68b642009-06-24 00:37:09 +000057 drd_clientobj.c \
58 drd_clientreq.c \
59 drd_cond.c \
bartf27eba22010-06-02 19:32:51 +000060 drd_cond_initializer.c \
njn8b68b642009-06-24 00:37:09 +000061 drd_error.c \
bart62cc2322010-03-07 10:54:21 +000062 drd_hb.c \
njn8b68b642009-06-24 00:37:09 +000063 drd_load_store.c \
64 drd_main.c \
65 drd_malloc_wrappers.c \
66 drd_mutex.c \
67 drd_rwlock.c \
68 drd_semaphore.c \
69 drd_suppression.c
bartccf17de2008-07-04 15:14:35 +000070
sewardj9e6428a2010-06-02 00:31:34 +000071drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = \
72 $(DRD_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000073drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = \
74 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
75drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = \
76 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
77drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
78 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
79drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = \
80 $(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
81drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = \
82 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +000083drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +000084 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +000085 @VALT_LOAD_ADDRESS_PRI@ \
sewardj9e6428a2010-06-02 00:31:34 +000086 $(LINK) \
87 $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
88 $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
89
njn8b68b642009-06-24 00:37:09 +000090if VGCONF_HAVE_PLATFORM_SEC
sewardj9e6428a2010-06-02 00:31:34 +000091drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = \
92 $(DRD_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000093drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = \
94 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
95drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = \
96 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
97drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
98 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
99drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD = \
100 $(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
101drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = \
102 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +0000103drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +0000104 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +0000105 @VALT_LOAD_ADDRESS_SEC@ \
sewardj9e6428a2010-06-02 00:31:34 +0000106 $(LINK) \
107 $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
108 $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
njn8b68b642009-06-24 00:37:09 +0000109endif
bartccf17de2008-07-04 15:14:35 +0000110
njn8b68b642009-06-24 00:37:09 +0000111#----------------------------------------------------------------------------
112# vgpreload_drd-<platform>.so
113#----------------------------------------------------------------------------
njnf76d27a2009-05-28 01:53:07 +0000114
njn8b68b642009-06-24 00:37:09 +0000115noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
116if VGCONF_HAVE_PLATFORM_SEC
117noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
118endif
njnf76d27a2009-05-28 01:53:07 +0000119
njn8b68b642009-06-24 00:37:09 +0000120if VGCONF_OS_IS_DARWIN
121noinst_DSYMS = $(noinst_PROGRAMS)
122endif
njnf76d27a2009-05-28 01:53:07 +0000123
njn8b68b642009-06-24 00:37:09 +0000124VGPRELOAD_DRD_SOURCES_COMMON = \
njn8b68b642009-06-24 00:37:09 +0000125 drd_pthread_intercepts.c \
126 drd_qtcore_intercepts.c \
127 drd_strmem_intercepts.c
128
bart6de4f412011-03-06 12:39:12 +0000129if VGCONF_OS_IS_DARWIN
130VGPRELOAD_DRD_SOURCES_COMMON += drd_darwin_intercepts.c
131endif
132
njn8b68b642009-06-24 00:37:09 +0000133vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = \
134 $(VGPRELOAD_DRD_SOURCES_COMMON)
135vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
136 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
137vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
bart22b16842012-07-28 14:32:03 +0000138 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC) $(DRD_CFLAGS)
njn8b68b642009-06-24 00:37:09 +0000139vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
140 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
141vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
142 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
143 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +0000144
njn8b68b642009-06-24 00:37:09 +0000145if VGCONF_HAVE_PLATFORM_SEC
146vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = \
147 $(VGPRELOAD_DRD_SOURCES_COMMON)
148vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
149 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
150vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
151 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) $(DRD_CFLAGS)
152vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
153 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
154vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
155 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
156 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
157endif
njnf76d27a2009-05-28 01:53:07 +0000158