blob: 9ba4c58e00ad44239a98cf94616b4fe066a23511 [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 \
barta4192912014-09-18 06:54:52 +000041 -Wswitch-enum \
njn8b68b642009-06-24 00:37:09 +000042 -Wno-inline \
43 -Wno-unused-parameter
bartccf17de2008-07-04 15:14:35 +000044
bart38ad31a2010-09-02 14:09:57 +000045#DRD_CFLAGS += -DENABLE_DRD_CONSISTENCY_CHECKS
46
njn8b68b642009-06-24 00:37:09 +000047#----------------------------------------------------------------------------
48# drd-<platform>
49#----------------------------------------------------------------------------
bartccf17de2008-07-04 15:14:35 +000050
njn8b68b642009-06-24 00:37:09 +000051noinst_PROGRAMS = drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@
52if VGCONF_HAVE_PLATFORM_SEC
53noinst_PROGRAMS += drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@
54endif
bartccf17de2008-07-04 15:14:35 +000055
njn8b68b642009-06-24 00:37:09 +000056DRD_SOURCES_COMMON = \
57 drd_barrier.c \
njn8b68b642009-06-24 00:37:09 +000058 drd_clientobj.c \
59 drd_clientreq.c \
60 drd_cond.c \
bartf27eba22010-06-02 19:32:51 +000061 drd_cond_initializer.c \
njn8b68b642009-06-24 00:37:09 +000062 drd_error.c \
bart62cc2322010-03-07 10:54:21 +000063 drd_hb.c \
njn8b68b642009-06-24 00:37:09 +000064 drd_load_store.c \
65 drd_main.c \
66 drd_malloc_wrappers.c \
67 drd_mutex.c \
68 drd_rwlock.c \
69 drd_semaphore.c \
70 drd_suppression.c
bartccf17de2008-07-04 15:14:35 +000071
sewardj9e6428a2010-06-02 00:31:34 +000072drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = \
73 $(DRD_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000074drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = \
75 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
76drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = \
77 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
78drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
79 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
80drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = \
81 $(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
82drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = \
83 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +000084drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +000085 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +000086 @VALT_LOAD_ADDRESS_PRI@ \
sewardj9e6428a2010-06-02 00:31:34 +000087 $(LINK) \
88 $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
89 $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
90
njn8b68b642009-06-24 00:37:09 +000091if VGCONF_HAVE_PLATFORM_SEC
sewardj9e6428a2010-06-02 00:31:34 +000092drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = \
93 $(DRD_SOURCES_COMMON)
njn8b68b642009-06-24 00:37:09 +000094drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = \
95 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
96drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = \
97 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
98drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
99 $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
100drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD = \
101 $(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
102drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = \
103 $(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +0000104drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
sewardjd3645802010-06-13 22:13:58 +0000105 $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
njnea2d6fd2010-07-01 00:20:20 +0000106 @VALT_LOAD_ADDRESS_SEC@ \
sewardj9e6428a2010-06-02 00:31:34 +0000107 $(LINK) \
108 $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
109 $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
njn8b68b642009-06-24 00:37:09 +0000110endif
bartccf17de2008-07-04 15:14:35 +0000111
njn8b68b642009-06-24 00:37:09 +0000112#----------------------------------------------------------------------------
113# vgpreload_drd-<platform>.so
114#----------------------------------------------------------------------------
njnf76d27a2009-05-28 01:53:07 +0000115
njn8b68b642009-06-24 00:37:09 +0000116noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
117if VGCONF_HAVE_PLATFORM_SEC
118noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
119endif
njnf76d27a2009-05-28 01:53:07 +0000120
njn8b68b642009-06-24 00:37:09 +0000121if VGCONF_OS_IS_DARWIN
122noinst_DSYMS = $(noinst_PROGRAMS)
123endif
njnf76d27a2009-05-28 01:53:07 +0000124
njn8b68b642009-06-24 00:37:09 +0000125VGPRELOAD_DRD_SOURCES_COMMON = \
bartf056aab2014-06-09 07:55:14 +0000126 drd_libstdcxx_intercepts.c \
njn8b68b642009-06-24 00:37:09 +0000127 drd_pthread_intercepts.c \
128 drd_qtcore_intercepts.c \
129 drd_strmem_intercepts.c
130
bart6de4f412011-03-06 12:39:12 +0000131if VGCONF_OS_IS_DARWIN
132VGPRELOAD_DRD_SOURCES_COMMON += drd_darwin_intercepts.c
133endif
134
njn8b68b642009-06-24 00:37:09 +0000135vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = \
136 $(VGPRELOAD_DRD_SOURCES_COMMON)
137vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
138 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
139vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
sewardj98977e02014-09-05 20:00:22 +0000140 $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
njn8b68b642009-06-24 00:37:09 +0000141vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
142 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
143vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
144 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
145 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
sewardj9e6428a2010-06-02 00:31:34 +0000146
njn8b68b642009-06-24 00:37:09 +0000147if VGCONF_HAVE_PLATFORM_SEC
148vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = \
149 $(VGPRELOAD_DRD_SOURCES_COMMON)
150vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
151 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
152vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
sewardj98977e02014-09-05 20:00:22 +0000153 $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
njn8b68b642009-06-24 00:37:09 +0000154vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
155 $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
156vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
157 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
158 $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
159endif
njnf76d27a2009-05-28 01:53:07 +0000160