blob: 8d216b3928782a6c4e4fb826c06a5ccd275f4cbb [file] [log] [blame]
sewardj55334242005-11-09 14:04:27 +00001
2# Be very careful when renaming any files, targets, whatever, in this
3# Makefile. The install-exec-local target in ../Makefile.install.am
4# does some fragile sed file-name-mangling which is liable to break if
5# the names of noinst_LIBRARIES or noinst_PROGRAMS change 'shape'.
6
nethercote4388a402004-09-01 23:20:49 +00007include $(top_srcdir)/Makefile.all.am
njne68d7c02005-09-27 20:27:04 +00008include $(top_srcdir)/Makefile.core.am
tomfb7bcde2005-11-07 15:24:38 +00009include $(top_srcdir)/Makefile.install.am
sewardjde4a1d02002-03-22 01:27:54 +000010
sewardjbd7c4922005-11-12 12:09:33 +000011AM_CPPFLAGS_X86_LINUX += -DVG_LIBDIR="\"$(valdir)"\"
12AM_CPPFLAGS_AMD64_LINUX += -DVG_LIBDIR="\"$(valdir)"\"
13AM_CPPFLAGS_PPC32_LINUX += -DVG_LIBDIR="\"$(valdir)"\"
sewardj2c48c7b2005-11-29 13:05:56 +000014AM_CPPFLAGS_PPC64_LINUX += -DVG_LIBDIR="\"$(valdir)"\"
sewardjbd7c4922005-11-12 12:09:33 +000015
sewardjbc7df202005-05-02 10:25:34 +000016
gobry3b777892002-04-04 09:18:39 +000017default.supp: $(SUPP_FILES)
sewardjde4a1d02002-03-22 01:27:54 +000018
tomfb7bcde2005-11-07 15:24:38 +000019noinst_LIBRARIES =
20if VG_X86_LINUX
21noinst_LIBRARIES += libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a
22endif
23if VG_AMD64_LINUX
24noinst_LIBRARIES += libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a
25endif
26if VG_PPC32_LINUX
27noinst_LIBRARIES += libcoregrind_ppc32_linux.a libreplacemalloc_toolpreload_ppc32_linux.a
28endif
sewardj2c48c7b2005-11-29 13:05:56 +000029if VG_PPC64_LINUX
30noinst_LIBRARIES += libcoregrind_ppc64_linux.a libreplacemalloc_toolpreload_ppc64_linux.a
31endif
sewardj45f4e7c2005-09-27 19:20:21 +000032
sewardj01262142006-01-04 01:20:28 +000033#------------------------- launcher -----------------------
34# Build the launcher (valgrind) for the primary target only.
35#
fitzhardinge98abfc72003-12-16 02:05:15 +000036bin_PROGRAMS = \
37 valgrind
38
sewardj01262142006-01-04 01:20:28 +000039valgrind_SOURCES = \
40 launcher.c \
41 m_debuglog.c
42
43valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI)
44valgrind_CFLAGS = $(AM_CFLAGS_PRI)
45valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI)
46valgrind_LDFLAGS = $(AM_CFLAGS_PRI)
47#
48#----------------------------------------------------------
49
50
tomfb7bcde2005-11-07 15:24:38 +000051noinst_PROGRAMS =
52if VG_X86_LINUX
53noinst_PROGRAMS += vgpreload_core-x86-linux.so
54endif
55if VG_AMD64_LINUX
56noinst_PROGRAMS += vgpreload_core-amd64-linux.so
57endif
58if VG_PPC32_LINUX
59noinst_PROGRAMS += vgpreload_core-ppc32-linux.so
60endif
sewardj2c48c7b2005-11-29 13:05:56 +000061if VG_PPC64_LINUX
62noinst_PROGRAMS += vgpreload_core-ppc64-linux.so
63endif
njn25cac76cb2002-09-23 11:21:57 +000064
nethercote799fb802004-10-20 18:40:40 +000065noinst_HEADERS = \
njn2521d322005-05-08 14:45:13 +000066 pub_core_aspacemgr.h \
njnc7561b92005-06-19 01:24:32 +000067 pub_core_basics.h \
sewardj45f4e7c2005-09-27 19:20:21 +000068 pub_core_basics_asm.h \
69 pub_core_clientstate.h \
njn93fe3b22005-12-21 20:22:52 +000070 pub_core_clreq.h \
sewardj45f4e7c2005-09-27 19:20:21 +000071 pub_core_commandline.h \
njn03e3ee32005-09-30 02:17:16 +000072 pub_core_coredump.h \
njn68980862005-06-18 18:31:26 +000073 pub_core_cpuid.h \
njnea27e462005-05-31 02:38:09 +000074 pub_core_debuginfo.h \
njn75b65aa2005-06-19 19:25:44 +000075 pub_core_debugger.h \
njn2521d322005-05-08 14:45:13 +000076 pub_core_debuglog.h \
njn44e13682005-05-10 04:56:56 +000077 pub_core_demangle.h \
njn36b66df2005-05-12 05:13:04 +000078 pub_core_dispatch.h \
njna733b5f2005-05-12 13:15:38 +000079 pub_core_dispatch_asm.h \
njnd2b17112005-04-19 04:10:25 +000080 pub_core_errormgr.h \
njnd01fef72005-03-25 23:35:48 +000081 pub_core_execontext.h \
njn81c00df2005-05-14 21:28:43 +000082 pub_core_hashtable.h \
njn97405b22005-06-02 03:39:33 +000083 pub_core_libcbase.h \
njn132bfcc2005-06-04 19:16:06 +000084 pub_core_libcassert.h \
njneb8896b2005-06-04 20:03:55 +000085 pub_core_libcfile.h \
njn36a20fa2005-06-03 03:08:39 +000086 pub_core_libcprint.h \
njnf39e9a32005-06-12 02:43:17 +000087 pub_core_libcproc.h \
njnde62cbf2005-06-10 22:08:14 +000088 pub_core_libcsignal.h \
njnf536bbb2005-06-13 04:21:38 +000089 pub_core_machine.h \
njn717cde52005-05-10 02:47:21 +000090 pub_core_mallocfree.h \
njn20242342005-05-16 23:31:24 +000091 pub_core_options.h \
njne1b2b962005-08-14 22:13:00 +000092 pub_core_oset.h \
njn984a6362005-06-11 01:07:00 +000093 pub_core_pthreadmodel.h \
njnd1af0032005-05-29 17:01:48 +000094 pub_core_redir.h \
njn717cde52005-05-10 02:47:21 +000095 pub_core_replacemalloc.h\
njn278b3d62005-05-30 23:20:51 +000096 pub_core_scheduler.h \
sewardj1cf558c2005-04-25 01:36:56 +000097 pub_core_sigframe.h \
njn0c246472005-05-31 01:00:08 +000098 pub_core_signals.h \
njn945ed2e2005-06-24 03:28:30 +000099 pub_core_stacks.h \
njn2521d322005-05-08 14:45:13 +0000100 pub_core_stacktrace.h \
njnc7e10712005-06-24 13:45:56 +0000101 pub_core_syscall.h \
njnc1b01812005-06-17 22:19:06 +0000102 pub_core_syswrap.h \
njn984a6362005-06-11 01:07:00 +0000103 pub_core_threadmodel.h \
njnc7561b92005-06-19 01:24:32 +0000104 pub_core_threadstate.h \
njn43b9a8a2005-05-10 04:37:01 +0000105 pub_core_tooliface.h \
njna7598f62005-06-18 03:27:58 +0000106 pub_core_trampoline.h \
njncf443512005-05-13 23:14:40 +0000107 pub_core_translate.h \
njn8bddf582005-05-13 23:40:55 +0000108 pub_core_transtab.h \
njn2e8f4ef2005-05-14 21:44:20 +0000109 pub_core_transtab_asm.h \
njn08a2e172005-06-21 22:47:54 +0000110 pub_core_ume.h \
sewardj4eee4762006-10-14 15:51:32 +0000111 pub_core_vkiscnums.h \
tomf4c23102005-10-31 17:05:21 +0000112 m_coredump/priv_elf.h \
sewardjeadcd862006-04-04 15:12:44 +0000113 m_debuginfo/priv_storage.h \
114 m_debuginfo/priv_readstabs.h \
115 m_debuginfo/priv_readdwarf.h \
116 m_debuginfo/priv_readelf.h \
sewardj45f4e7c2005-09-27 19:20:21 +0000117 m_demangle/ansidecl.h \
118 m_demangle/dyn-string.h \
119 m_demangle/demangle.h \
120 m_demangle/safe-ctype.h \
121 m_scheduler/priv_sema.h \
122 m_syswrap/priv_types_n_macros.h \
123 m_syswrap/priv_syswrap-generic.h \
124 m_syswrap/priv_syswrap-linux.h \
sewardjce5a5662005-10-06 03:19:49 +0000125 m_syswrap/priv_syswrap-linux-variants.h \
sewardj45f4e7c2005-09-27 19:20:21 +0000126 m_syswrap/priv_syswrap-main.h
nethercote799fb802004-10-20 18:40:40 +0000127
sewardj45f4e7c2005-09-27 19:20:21 +0000128BUILT_SOURCES =
129CLEANFILES =
sewardj85a9dca2005-07-26 10:42:57 +0000130
sewardjde4a1d02002-03-22 01:27:54 +0000131
tomfb7bcde2005-11-07 15:24:38 +0000132COREGRIND_SOURCES_COMMON = \
sewardj45f4e7c2005-09-27 19:20:21 +0000133 m_commandline.c \
njn68980862005-06-18 18:31:26 +0000134 m_cpuid.S \
sewardj45f4e7c2005-09-27 19:20:21 +0000135 m_clientstate.c \
njn75b65aa2005-06-19 19:25:44 +0000136 m_debugger.c \
njn43b9a8a2005-05-10 04:37:01 +0000137 m_debuglog.c \
sewardj267100d2005-04-24 12:33:12 +0000138 m_errormgr.c \
139 m_execontext.c \
njn81c00df2005-05-14 21:28:43 +0000140 m_hashtable.c \
njn97405b22005-06-02 03:39:33 +0000141 m_libcbase.c \
njn132bfcc2005-06-04 19:16:06 +0000142 m_libcassert.c \
njneb8896b2005-06-04 20:03:55 +0000143 m_libcfile.c \
njn36a20fa2005-06-03 03:08:39 +0000144 m_libcprint.c \
njnf39e9a32005-06-12 02:43:17 +0000145 m_libcproc.c \
njnde62cbf2005-06-10 22:08:14 +0000146 m_libcsignal.c \
njnf536bbb2005-06-13 04:21:38 +0000147 m_machine.c \
njn04e16982005-05-31 00:23:43 +0000148 m_main.c \
njn717cde52005-05-10 02:47:21 +0000149 m_mallocfree.c \
njn20242342005-05-16 23:31:24 +0000150 m_options.c \
njne1b2b962005-08-14 22:13:00 +0000151 m_oset.c \
njn984a6362005-06-11 01:07:00 +0000152 m_pthreadmodel.c \
njnd1af0032005-05-29 17:01:48 +0000153 m_redir.c \
njn0c246472005-05-31 01:00:08 +0000154 m_signals.c \
njn945ed2e2005-06-24 03:28:30 +0000155 m_stacks.c \
sewardj267100d2005-04-24 12:33:12 +0000156 m_stacktrace.c \
njn9abd6082005-06-17 21:31:45 +0000157 m_syscall.c \
njn984a6362005-06-11 01:07:00 +0000158 m_threadmodel.c \
njnc7561b92005-06-19 01:24:32 +0000159 m_threadstate.c \
njn43b9a8a2005-05-10 04:37:01 +0000160 m_tooliface.c \
njna7598f62005-06-18 03:27:58 +0000161 m_trampoline.S \
njn3cbfbc12005-05-13 23:11:40 +0000162 m_translate.c \
njn8bddf582005-05-13 23:40:55 +0000163 m_transtab.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000164 m_ume.c \
sewardj4eee4762006-10-14 15:51:32 +0000165 m_vkiscnums.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000166 m_aspacemgr/aspacemgr.c \
sewardjeadcd862006-04-04 15:12:44 +0000167 m_debuginfo/storage.c \
168 m_debuginfo/readdwarf.c \
169 m_debuginfo/readstabs.c \
170 m_debuginfo/readelf.c \
171 m_debuginfo/debuginfo.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000172 m_demangle/cp-demangle.c \
173 m_demangle/cplus-dem.c \
174 m_demangle/demangle.c \
175 m_demangle/dyn-string.c \
176 m_demangle/safe-ctype.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000177 m_replacemalloc/replacemalloc_core.c \
178 m_scheduler/scheduler.c \
179 m_scheduler/sema.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000180 m_syswrap/syswrap-generic.c \
sewardj45f4e7c2005-09-27 19:20:21 +0000181 m_syswrap/syswrap-main.c
nethercoteb77dee62004-11-16 17:13:24 +0000182
tomfb7bcde2005-11-07 15:24:38 +0000183COREGRIND_LINUX_SOURCE = \
184 m_coredump/coredump-elf.c \
185 m_syswrap/syswrap-linux.c \
186 m_syswrap/syswrap-linux-variants.c
nethercoteb77dee62004-11-16 17:13:24 +0000187
tomfb7bcde2005-11-07 15:24:38 +0000188libcoregrind_x86_linux_a_SOURCES = \
189 $(COREGRIND_SOURCES_COMMON) \
190 $(COREGRIND_LINUX_SOURCE) \
191 m_coredump/coredump-x86-linux.c \
192 m_dispatch/dispatch-x86-linux.S \
193 m_sigframe/sigframe-x86-linux.c \
194 m_syswrap/syscall-x86-linux.S \
195 m_syswrap/syswrap-x86-linux.c
196
197libcoregrind_x86_linux_a_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
198libcoregrind_x86_linux_a_CFLAGS = $(AM_CFLAGS_X86_LINUX)
199libcoregrind_x86_linux_a_CCASFLAGS = $(AM_CCASFLAGS_X86_LINUX)
200
201libcoregrind_amd64_linux_a_SOURCES = \
202 $(COREGRIND_SOURCES_COMMON) \
203 $(COREGRIND_LINUX_SOURCE) \
204 m_coredump/coredump-amd64-linux.c \
205 m_dispatch/dispatch-amd64-linux.S \
206 m_sigframe/sigframe-amd64-linux.c \
207 m_syswrap/syscall-amd64-linux.S \
208 m_syswrap/syswrap-amd64-linux.c
209
210libcoregrind_amd64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
211libcoregrind_amd64_linux_a_CFLAGS = $(AM_CFLAGS_AMD64_LINUX)
212libcoregrind_amd64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_LINUX)
213
214libcoregrind_ppc32_linux_a_SOURCES = \
215 $(COREGRIND_SOURCES_COMMON) \
216 $(COREGRIND_LINUX_SOURCE) \
217 m_coredump/coredump-ppc32-linux.c \
218 m_dispatch/dispatch-ppc32-linux.S \
219 m_sigframe/sigframe-ppc32-linux.c \
220 m_syswrap/syscall-ppc32-linux.S \
221 m_syswrap/syswrap-ppc32-linux.c
222
223libcoregrind_ppc32_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
224libcoregrind_ppc32_linux_a_CFLAGS = $(AM_CFLAGS_PPC32_LINUX)
225libcoregrind_ppc32_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_LINUX)
226
sewardj2c48c7b2005-11-29 13:05:56 +0000227libcoregrind_ppc64_linux_a_SOURCES = \
228 $(COREGRIND_SOURCES_COMMON) \
229 $(COREGRIND_LINUX_SOURCE) \
230 m_coredump/coredump-ppc64-linux.c \
231 m_dispatch/dispatch-ppc64-linux.S \
232 m_sigframe/sigframe-ppc64-linux.c \
233 m_syswrap/syscall-ppc64-linux.S \
234 m_syswrap/syswrap-ppc64-linux.c
235
236libcoregrind_ppc64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
237libcoregrind_ppc64_linux_a_CFLAGS = $(AM_CFLAGS_PPC64_LINUX)
238libcoregrind_ppc64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_LINUX)
239
tomfb7bcde2005-11-07 15:24:38 +0000240libreplacemalloc_toolpreload_x86_linux_a_SOURCES = m_replacemalloc/vg_replace_malloc.c
241libreplacemalloc_toolpreload_x86_linux_a_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
242libreplacemalloc_toolpreload_x86_linux_a_CFLAGS = $(AM_CFLAGS_X86_LINUX) -fpic -fno-omit-frame-pointer
243
244libreplacemalloc_toolpreload_amd64_linux_a_SOURCES = m_replacemalloc/vg_replace_malloc.c
245libreplacemalloc_toolpreload_amd64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
246libreplacemalloc_toolpreload_amd64_linux_a_CFLAGS = $(AM_CFLAGS_AMD64_LINUX) -fpic -fno-omit-frame-pointer
247
248libreplacemalloc_toolpreload_ppc32_linux_a_SOURCES = m_replacemalloc/vg_replace_malloc.c
249libreplacemalloc_toolpreload_ppc32_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
250libreplacemalloc_toolpreload_ppc32_linux_a_CFLAGS = $(AM_CFLAGS_PPC32_LINUX) -fpic -fno-omit-frame-pointer
251
sewardj2c48c7b2005-11-29 13:05:56 +0000252libreplacemalloc_toolpreload_ppc64_linux_a_SOURCES = m_replacemalloc/vg_replace_malloc.c
253libreplacemalloc_toolpreload_ppc64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
254libreplacemalloc_toolpreload_ppc64_linux_a_CFLAGS = $(AM_CFLAGS_PPC64_LINUX) -fpic -fno-omit-frame-pointer
255
tomfb7bcde2005-11-07 15:24:38 +0000256m_dispatch/dispatch-x86-linux.S: libvex_guest_offsets.h
257m_dispatch/dispatch-amd64-linux.S: libvex_guest_offsets.h
258m_dispatch/dispatch-ppc32-linux.S: libvex_guest_offsets.h
sewardj2c48c7b2005-11-29 13:05:56 +0000259m_dispatch/dispatch-ppc64-linux.S: libvex_guest_offsets.h
tomfb7bcde2005-11-07 15:24:38 +0000260m_syswrap/syscall-x86-linux.S: libvex_guest_offsets.h
261m_syswrap/syscall-amd64-linux.S: libvex_guest_offsets.h
262m_syswrap/syscall-ppc32-linux.S: libvex_guest_offsets.h
sewardj2c48c7b2005-11-29 13:05:56 +0000263m_syswrap/syscall-ppc64-linux.S: libvex_guest_offsets.h
tomfb7bcde2005-11-07 15:24:38 +0000264m_syswrap/syswrap-main.c: libvex_guest_offsets.h
tom78604412005-05-17 16:11:40 +0000265
sewardj45f4e7c2005-09-27 19:20:21 +0000266libvex_guest_offsets.h:
267 $(MAKE) -C @VEX_DIR@ pub/libvex_guest_offsets.h
njn717cde52005-05-10 02:47:21 +0000268
tomfb7bcde2005-11-07 15:24:38 +0000269VGPRELOAD_CORE_SOURCES_COMMON = vg_preloaded.c
270
271vgpreload_core_x86_linux_so_SOURCES = $(VGPRELOAD_CORE_SOURCES_COMMON)
tomec15d6a2005-11-08 12:27:42 +0000272vgpreload_core_x86_linux_so_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
tomfb7bcde2005-11-07 15:24:38 +0000273vgpreload_core_x86_linux_so_CFLAGS = $(AM_CFLAGS_X86_LINUX) $(AM_CFLAGS_PIC)
274vgpreload_core_x86_linux_so_LDFLAGS = $(PRELOAD_LDFLAGS_X86_LINUX)
275
276vgpreload_core_amd64_linux_so_SOURCES = $(VGPRELOAD_CORE_SOURCES_COMMON)
tomec15d6a2005-11-08 12:27:42 +0000277vgpreload_core_amd64_linux_so_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
tomfb7bcde2005-11-07 15:24:38 +0000278vgpreload_core_amd64_linux_so_CFLAGS = $(AM_CFLAGS_AMD64_LINUX) $(AM_CFLAGS_PIC)
279vgpreload_core_amd64_linux_so_LDFLAGS = $(PRELOAD_LDFLAGS_AMD64_LINUX)
280
281vgpreload_core_ppc32_linux_so_SOURCES = $(VGPRELOAD_CORE_SOURCES_COMMON)
tomec15d6a2005-11-08 12:27:42 +0000282vgpreload_core_ppc32_linux_so_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
tomfb7bcde2005-11-07 15:24:38 +0000283vgpreload_core_ppc32_linux_so_CFLAGS = $(AM_CFLAGS_PPC32_LINUX) $(AM_CFLAGS_PIC)
284vgpreload_core_ppc32_linux_so_LDFLAGS = $(PRELOAD_LDFLAGS_PPC32_LINUX)
njn3e884182003-04-15 13:03:23 +0000285
sewardj2c48c7b2005-11-29 13:05:56 +0000286vgpreload_core_ppc64_linux_so_SOURCES = $(VGPRELOAD_CORE_SOURCES_COMMON)
287vgpreload_core_ppc64_linux_so_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
288vgpreload_core_ppc64_linux_so_CFLAGS = $(AM_CFLAGS_PPC64_LINUX) $(AM_CFLAGS_PIC)
289vgpreload_core_ppc64_linux_so_LDFLAGS = $(PRELOAD_LDFLAGS_PPC64_LINUX)
290
sewardj85a9dca2005-07-26 10:42:57 +0000291clean-local:
tomf5499f12005-08-30 18:47:35 +0000292 $(MAKE) -C @VEX_DIR@ CC="$(CC)" clean
sewardj85a9dca2005-07-26 10:42:57 +0000293
sewardjb5f6f512005-03-10 23:59:00 +0000294MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
sewardj71889e62002-05-10 03:03:57 +0000295
daywalker781132b2003-06-01 20:05:08 +0000296all-local:
tomfb7bcde2005-11-07 15:24:38 +0000297 for f in $(noinst_PROGRAMS); do \
298 p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \
299 n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
300 mkdir -p $(inplacedir)/$$p; \
301 rm -f $(inplacedir)/$$p/$$n; \
302 ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$p/$$n; \
fitzhardinge98abfc72003-12-16 02:05:15 +0000303 done
sewardjeadcd862006-04-04 15:12:44 +0000304
305EXTRA_DIST = \
306 m_debuginfo/UNUSED_STABS.txt \
307 m_debuginfo/README.txt