2 # Be very careful when renaming any files, targets, whatever, in this
3 # Makefile. Various parts of the system rely on these names having
6 include $(top_srcdir)/Makefile.all.am
8 #----------------------------------------------------------------------------
10 #----------------------------------------------------------------------------
12 AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ += \
13 -I$(top_srcdir)/coregrind \
14 -DVG_LIBDIR="\"$(pkglibdir)"\" \
15 -DVG_PLATFORM="\"@VGCONF_ARCH_PRI@-@VGCONF_OS@\""
16 if VGCONF_HAVE_PLATFORM_SEC
17 AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ += \
18 -I$(top_srcdir)/coregrind \
19 -DVG_LIBDIR="\"$(pkglibdir)"\" \
20 -DVG_PLATFORM="\"@VGCONF_ARCH_SEC@-@VGCONF_OS@\""
25 m_debuginfo/UNUSED_STABS.txt \
26 m_debuginfo/README.txt
28 #----------------------------------------------------------------------------
29 # The launcher. Built for the primary target only.
30 #----------------------------------------------------------------------------
37 no_op_client_for_valgrind
51 if VGCONF_OS_IS_DARWIN
57 valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI)
58 valgrind_CFLAGS = $(AM_CFLAGS_PRI)
59 valgrind_CXXFLAGS = $(AM_CXXFLAGS_PRI)
60 valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI)
61 valgrind_LDFLAGS = $(AM_CFLAGS_PRI)
63 no_op_client_for_valgrind_SOURCES = no_op_client_for_valgrind.c
64 no_op_client_for_valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI)
65 no_op_client_for_valgrind_CFLAGS = $(AM_CFLAGS_PRI)
66 no_op_client_for_valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI)
67 no_op_client_for_valgrind_LDFLAGS = $(AM_CFLAGS_PRI)
69 #----------------------------------------------------------------------------
71 #----------------------------------------------------------------------------
73 # Mach RPC interface definitions
74 # Here are some more .defs files that are not used, but could be in the
81 # host_security.defs \
88 # processor_set.defs \
94 if VGCONF_OS_IS_DARWIN
96 m_mach/mach_vmUser.c \
98 m_mach/thread_actUser.c \
100 mach_server_srcs += \
101 m_mach/mach_vmServer.c \
102 m_mach/taskServer.c \
103 m_mach/thread_actServer.c \
104 m_mach/vm_mapServer.c
108 m_mach/thread_act.h \
111 /usr/include/mach/mach_vm.defs \
112 /usr/include/mach/task.defs \
113 /usr/include/mach/thread_act.defs \
114 /usr/include/mach/vm_map.defs
117 # Be careful w.r.t. parellel builds. See section 27.9 of the automake info
118 # page, "Handling Tools that Produce many Outputs".
119 $(mach_user_srcs): $(mach_defs)
120 (cd m_mach && mig $(mach_defs))
121 $(mach_hdrs): $(mach_defs) $(mach_user_srcs)
122 (cd m_mach && mig $(mach_defs))
124 #----------------------------------------------------------------------------
126 #----------------------------------------------------------------------------
129 launcher-aix5-bootblock.h \
130 pub_core_aspacehl.h \
131 pub_core_aspacemgr.h \
133 pub_core_basics_asm.h \
134 pub_core_clientstate.h \
136 pub_core_commandline.h \
137 pub_core_coredump.h \
139 pub_core_debuginfo.h \
140 pub_core_debugger.h \
141 pub_core_debuglog.h \
142 pub_core_demangle.h \
143 pub_core_dispatch.h \
144 pub_core_dispatch_asm.h \
145 pub_core_errormgr.h \
146 pub_core_execontext.h \
147 pub_core_hashtable.h \
149 pub_core_libcbase.h \
150 pub_core_libcassert.h \
151 pub_core_libcfile.h \
152 pub_core_libcprint.h \
153 pub_core_libcproc.h \
154 pub_core_libcsignal.h \
157 pub_core_mallocfree.h \
161 pub_core_replacemalloc.h\
162 pub_core_scheduler.h \
163 pub_core_seqmatch.h \
164 pub_core_sigframe.h \
166 pub_core_sparsewa.h \
168 pub_core_stacktrace.h \
171 pub_core_threadstate.h \
172 pub_core_tooliface.h \
173 pub_core_trampoline.h \
174 pub_core_translate.h \
175 pub_core_transtab.h \
176 pub_core_transtab_asm.h \
179 pub_core_vkiscnums.h \
180 pub_core_vkiscnums_asm.h\
183 m_aspacemgr/priv_aspacemgr.h \
184 m_debuginfo/priv_misc.h \
185 m_debuginfo/priv_storage.h \
186 m_debuginfo/priv_tytypes.h \
187 m_debuginfo/priv_readstabs.h \
188 m_debuginfo/priv_readpdb.h \
189 m_debuginfo/priv_d3basics.h \
190 m_debuginfo/priv_readdwarf.h \
191 m_debuginfo/priv_readdwarf3.h \
192 m_debuginfo/priv_readelf.h \
193 m_debuginfo/priv_readmacho.h \
194 m_debuginfo/priv_readxcoff.h \
195 m_demangle/ansidecl.h \
196 m_demangle/cp-demangle.h \
197 m_demangle/dyn-string.h \
198 m_demangle/demangle.h \
199 m_demangle/safe-ctype.h \
200 m_demangle/vg_libciface.h \
201 m_initimg/priv_initimg_pathscan.h \
202 m_initimg/simple_huffman.c \
203 m_scheduler/priv_sema.h \
204 m_syswrap/priv_types_n_macros.h \
205 m_syswrap/priv_syswrap-generic.h \
206 m_syswrap/priv_syswrap-linux.h \
207 m_syswrap/priv_syswrap-linux-variants.h \
208 m_syswrap/priv_syswrap-aix5.h \
209 m_syswrap/priv_syswrap-darwin.h \
210 m_syswrap/priv_syswrap-main.h \
213 #----------------------------------------------------------------------------
214 # libcoregrind-<platform>.a
215 #----------------------------------------------------------------------------
217 BUILT_SOURCES = $(mach_user_srcs)
218 CLEANFILES = $(mach_user_srcs) $(mach_server_srcs) $(mach_hdrs)
220 pkglib_LIBRARIES = libcoregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
221 if VGCONF_HAVE_PLATFORM_SEC
222 pkglib_LIBRARIES += libcoregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
225 COREGRIND_SOURCES_COMMON = \
262 m_aspacemgr/aspacemgr-common.c \
263 m_aspacemgr/aspacemgr-linux.c \
264 m_aspacemgr/aspacemgr-aix5.c \
265 m_coredump/coredump-elf.c \
266 m_coredump/coredump-macho.c \
267 m_coredump/coredump-xcoff.c \
269 m_debuginfo/d3basics.c \
270 m_debuginfo/debuginfo.c \
271 m_debuginfo/readdwarf.c \
272 m_debuginfo/readdwarf3.c \
273 m_debuginfo/readelf.c \
274 m_debuginfo/readmacho.c \
275 m_debuginfo/readpdb.c \
276 m_debuginfo/readstabs.c \
277 m_debuginfo/readxcoff.c \
278 m_debuginfo/storage.c \
279 m_debuginfo/tytypes.c \
280 m_demangle/cp-demangle.c \
281 m_demangle/cplus-dem.c \
282 m_demangle/demangle.c \
283 m_demangle/dyn-string.c \
284 m_demangle/safe-ctype.c \
285 m_dispatch/dispatch-x86-linux.S \
286 m_dispatch/dispatch-amd64-linux.S \
287 m_dispatch/dispatch-ppc32-linux.S \
288 m_dispatch/dispatch-ppc64-linux.S \
289 m_dispatch/dispatch-arm-linux.S \
290 m_dispatch/dispatch-ppc32-aix5.S \
291 m_dispatch/dispatch-ppc64-aix5.S \
292 m_dispatch/dispatch-x86-darwin.S \
293 m_dispatch/dispatch-amd64-darwin.S \
294 m_initimg/initimg-linux.c \
295 m_initimg/initimg-aix5.c \
296 m_initimg/initimg-darwin.c \
297 m_initimg/initimg-pathscan.c \
298 m_mach/mach_basics.c \
300 m_mach/mach_traps-x86-darwin.S \
301 m_mach/mach_traps-amd64-darwin.S \
302 m_replacemalloc/replacemalloc_core.c \
303 m_scheduler/scheduler.c \
305 m_sigframe/sigframe-x86-linux.c \
306 m_sigframe/sigframe-amd64-linux.c \
307 m_sigframe/sigframe-ppc32-linux.c \
308 m_sigframe/sigframe-ppc64-linux.c \
309 m_sigframe/sigframe-arm-linux.c \
310 m_sigframe/sigframe-ppc32-aix5.c \
311 m_sigframe/sigframe-ppc64-aix5.c \
312 m_sigframe/sigframe-x86-darwin.c \
313 m_sigframe/sigframe-amd64-darwin.c \
314 m_start-x86-darwin.S \
315 m_start-amd64-darwin.S \
316 m_syswrap/syscall-x86-linux.S \
317 m_syswrap/syscall-amd64-linux.S \
318 m_syswrap/syscall-ppc32-linux.S \
319 m_syswrap/syscall-ppc64-linux.S \
320 m_syswrap/syscall-arm-linux.S \
321 m_syswrap/syscall-ppc32-aix5.S \
322 m_syswrap/syscall-ppc64-aix5.S \
323 m_syswrap/syscall-x86-darwin.S \
324 m_syswrap/syscall-amd64-darwin.S \
325 m_syswrap/syswrap-main.c \
326 m_syswrap/syswrap-generic.c \
327 m_syswrap/syswrap-linux.c \
328 m_syswrap/syswrap-linux-variants.c \
329 m_syswrap/syswrap-aix5.c \
330 m_syswrap/syswrap-darwin.c \
331 m_syswrap/syswrap-x86-linux.c \
332 m_syswrap/syswrap-amd64-linux.c \
333 m_syswrap/syswrap-ppc32-linux.c \
334 m_syswrap/syswrap-ppc64-linux.c \
335 m_syswrap/syswrap-arm-linux.c \
336 m_syswrap/syswrap-ppc32-aix5.c \
337 m_syswrap/syswrap-ppc64-aix5.c \
338 m_syswrap/syswrap-x86-darwin.c \
339 m_syswrap/syswrap-amd64-darwin.c \
346 COREGRIND_SOURCES_COMMON += \
355 m_aspacemgr/aspacemgr-l4re.c \
356 m_syswrap/syswrap-x86-l4re.c \
357 m_syswrap/syswrap-l4re.c \
358 m_initimg/initimg-l4re.c \
359 m_dispatch/dispatch-x86-l4re.S
362 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = blub.o
363 #libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = blub.o
365 blub.o : libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-l4re_trampoline.o
366 $(LD) -r -T$(top_srcdir)/coregrind/l4re_trampoline.ld $< -o $@
370 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
371 $(COREGRIND_SOURCES_COMMON)
373 nodist_libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
375 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
376 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
377 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
378 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
379 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CCASFLAGS = \
380 $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
381 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CXXFLAGS = \
382 $(AM_CXXFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
383 if VGCONF_HAVE_PLATFORM_SEC
384 libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
385 $(COREGRIND_SOURCES_COMMON)
386 nodist_libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
388 libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
389 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
390 libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
391 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
392 libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CCASFLAGS = \
393 $(AM_CCASFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
396 libcoregrind_ppc32_aix5_a_AR = $(AR) -X32 cru
397 libcoregrind_ppc64_aix5_a_AR = $(AR) -X64 cru
399 #----------------------------------------------------------------------------
400 # libreplacemalloc_toolpreload-<platform>.a
401 #----------------------------------------------------------------------------
403 pkglib_LIBRARIES += libreplacemalloc_toolpreload-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
404 if VGCONF_HAVE_PLATFORM_SEC
405 pkglib_LIBRARIES += libreplacemalloc_toolpreload-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
408 libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
409 m_replacemalloc/vg_replace_malloc.c
410 libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
411 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
412 libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
413 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
414 if VGCONF_HAVE_PLATFORM_SEC
415 libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
416 m_replacemalloc/vg_replace_malloc.c
417 libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
418 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
419 libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
420 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
423 # Special AR for AIX.
424 libreplacemalloc_toolpreload_ppc32_aix5_a_AR = $(AR) -X32 cru
425 libreplacemalloc_toolpreload_ppc64_aix5_a_AR = $(AR) -X64 cru
427 #----------------------------------------------------------------------------
428 # vgpreload_core-<platform>.a
429 #----------------------------------------------------------------------------
431 noinst_PROGRAMS = vgpreload_core-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
432 if VGCONF_HAVE_PLATFORM_SEC
433 noinst_PROGRAMS += vgpreload_core-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
436 if VGCONF_OS_IS_DARWIN
437 noinst_DSYMS = $(noinst_PROGRAMS)
440 vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = vg_preloaded.c
441 vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
442 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
443 vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
444 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
445 vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
446 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
447 if VGCONF_HAVE_PLATFORM_SEC
448 vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = vg_preloaded.c
449 vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
450 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
451 vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
452 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
453 vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
454 $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
457 #----------------------------------------------------------------------------
459 #----------------------------------------------------------------------------
461 all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS
463 clean-local: clean-noinst_DSYMS
465 install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS