• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# Be very careful when renaming any files, targets, whatever, in this
3# Makefile.  Various parts of the system rely on these names having
4# particular forms.
5
6include $(top_srcdir)/Makefile.all.am
7
8#----------------------------------------------------------------------------
9# Basics, flags
10#----------------------------------------------------------------------------
11
12AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ += \
13	-I$(top_srcdir)/coregrind \
14	-DVG_LIBDIR="\"$(pkglibdir)"\" \
15	-DVG_PLATFORM="\"@VGCONF_ARCH_PRI@-@VGCONF_OS@\""
16if VGCONF_HAVE_PLATFORM_SEC
17AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ += \
18	-I$(top_srcdir)/coregrind \
19	-DVG_LIBDIR="\"$(pkglibdir)"\" \
20	-DVG_PLATFORM="\"@VGCONF_ARCH_SEC@-@VGCONF_OS@\""
21endif
22
23
24EXTRA_DIST = \
25	m_debuginfo/README.txt \
26	m_gdbserver/README_DEVELOPERS \
27	docs/vgdb-manpage.xml
28
29#----------------------------------------------------------------------------
30# The launcher.  Built for the primary target only.
31#----------------------------------------------------------------------------
32
33bin_PROGRAMS = \
34	valgrind \
35	vgdb
36
37if VGCONF_OS_IS_LINUX
38valgrind_SOURCES = \
39	launcher-linux.c \
40	m_debuglog.c
41endif
42if VGCONF_OS_IS_DARWIN
43valgrind_SOURCES = \
44	launcher-darwin.c \
45	m_debuglog.c
46endif
47
48valgrind_CPPFLAGS  = $(AM_CPPFLAGS_PRI)
49valgrind_CFLAGS    = $(AM_CFLAGS_PRI)
50valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI)
51valgrind_LDFLAGS   = $(AM_CFLAGS_PRI) @LIB_UBSAN@
52if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
53valgrind_LDFLAGS   += -Wl,-read_only_relocs -Wl,suppress
54endif
55# On Android we must ask for non-executable stack, not sure why.
56if VGCONF_PLATVARIANT_IS_ANDROID
57valgrind_CFLAGS += -static
58valgrind_LDFLAGS   += -Wl,-z,noexecstack
59endif
60
61
62vgdb_SOURCES = vgdb.c
63if VGCONF_OS_IS_LINUX
64if VGCONF_PLATVARIANT_IS_ANDROID
65vgdb_SOURCES += vgdb-invoker-none.c
66else
67vgdb_SOURCES += vgdb-invoker-ptrace.c
68endif
69endif
70if VGCONF_OS_IS_DARWIN
71# Some darwin specific stuff is needed as ptrace is not
72# fully supported on MacOS. Till we find someone courageous
73# having access to Darwin, 'none' implementation is used.
74vgdb_SOURCES += vgdb-invoker-none.c
75endif
76
77vgdb_CPPFLAGS  = $(AM_CPPFLAGS_PRI)
78vgdb_CFLAGS    = $(AM_CFLAGS_PRI)
79vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI)
80vgdb_LDFLAGS   = $(AM_CFLAGS_PRI) @LIB_UBSAN@
81if VGCONF_PLATVARIANT_IS_ANDROID
82vgdb_CFLAGS    += -static
83endif
84if !VGCONF_PLATVARIANT_IS_ANDROID
85vgdb_LDADD     = -lpthread
86endif
87if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
88vgdb_LDFLAGS   += -Wl,-read_only_relocs -Wl,suppress
89endif
90
91#----------------------------------------------------------------------------
92# Darwin Mach stuff
93#----------------------------------------------------------------------------
94
95# Mach RPC interface definitions
96# Here are some more .defs files that are not used, but could be in the
97# future:
98#	clock.defs \
99#	clock_priv.defs \
100#	clock_reply.defs \
101#	exc.defs \
102#	host_priv.defs \
103#	host_security.defs \
104#	ledger.defs \
105#	lock_set.defs \
106#	mach_host.defs \
107#	mach_port.defs \
108#	notify.defs \
109#	processor.defs \
110#	processor_set.defs \
111#
112mach_user_srcs =
113mach_server_srcs =
114mach_hdrs =
115mach_defs =
116if VGCONF_OS_IS_DARWIN
117mach_user_srcs += \
118	m_mach/mach_vmUser.c \
119        m_mach/taskUser.c \
120        m_mach/thread_actUser.c \
121        m_mach/vm_mapUser.c
122mach_server_srcs += \
123	m_mach/mach_vmServer.c \
124        m_mach/taskServer.c \
125        m_mach/thread_actServer.c \
126        m_mach/vm_mapServer.c
127mach_hdrs += \
128	m_mach/mach_vm.h \
129        m_mach/task.h \
130        m_mach/thread_act.h \
131        m_mach/vm_map.h
132mach_defs += \
133	/usr/include/mach/mach_vm.defs \
134        /usr/include/mach/task.defs \
135        /usr/include/mach/thread_act.defs \
136        /usr/include/mach/vm_map.defs
137endif
138
139# Be careful w.r.t. parallel builds.  See section 27.9 of the automake info
140# page, "Handling Tools that Produce many Outputs".
141$(abs_builddir)/m_mach:
142	mkdir -p $@
143$(mach_user_srcs): $(mach_defs) $(abs_builddir)/m_mach
144	(cd m_mach && mig $(mach_defs))
145$(mach_hdrs): $(mach_defs) $(mach_user_srcs) $(abs_builddir)/m_mach
146	(cd m_mach && mig $(mach_defs))
147
148#----------------------------------------------------------------------------
149# Headers
150#----------------------------------------------------------------------------
151
152noinst_HEADERS = \
153	pub_core_addrinfo.h	\
154	pub_core_aspacehl.h	\
155	pub_core_aspacemgr.h	\
156	pub_core_basics.h	\
157	pub_core_basics_asm.h	\
158	pub_core_clientstate.h	\
159	pub_core_clreq.h	\
160	pub_core_commandline.h	\
161	pub_core_coredump.h	\
162	pub_core_cpuid.h	\
163	pub_core_deduppoolalloc.h \
164	pub_core_debuginfo.h	\
165	pub_core_debugger.h	\
166	pub_core_debuglog.h	\
167	pub_core_demangle.h	\
168	pub_core_dispatch.h	\
169	pub_core_dispatch_asm.h	\
170	pub_core_errormgr.h	\
171	pub_core_execontext.h	\
172	pub_core_gdbserver.h	\
173	pub_core_guest.h	\
174	pub_core_hashtable.h	\
175	pub_core_initimg.h	\
176	pub_core_inner.h	\
177	pub_core_libcbase.h	\
178	pub_core_libcassert.h	\
179	pub_core_libcfile.h	\
180	pub_core_libcprint.h	\
181	pub_core_libcproc.h	\
182	pub_core_libcsetjmp.h	\
183	pub_core_libcsignal.h	\
184	pub_core_mach.h		\
185	pub_core_machine.h	\
186	pub_core_mallocfree.h	\
187	pub_core_options.h	\
188	pub_core_oset.h		\
189	pub_core_rangemap.h	\
190	pub_core_redir.h	\
191	pub_core_poolalloc.h	\
192	pub_core_replacemalloc.h\
193	pub_core_sbprofile.h	\
194	pub_core_scheduler.h	\
195	pub_core_seqmatch.h	\
196	pub_core_sigframe.h	\
197	pub_core_signals.h	\
198	pub_core_sparsewa.h	\
199	pub_core_stacks.h	\
200	pub_core_stacktrace.h	\
201	pub_core_syscall.h	\
202	pub_core_syswrap.h	\
203	pub_core_threadstate.h	\
204	pub_core_tooliface.h	\
205	pub_core_trampoline.h	\
206	pub_core_translate.h	\
207	pub_core_transtab.h	\
208	pub_core_transtab_asm.h	\
209	pub_core_ume.h		\
210	pub_core_vki.h		\
211	pub_core_vkiscnums.h	\
212	pub_core_vkiscnums_asm.h\
213	pub_core_wordfm.h	\
214	pub_core_xarray.h	\
215	m_aspacemgr/priv_aspacemgr.h \
216	m_debuginfo/priv_misc.h	\
217	m_debuginfo/priv_storage.h	\
218	m_debuginfo/priv_tytypes.h      \
219	m_debuginfo/priv_readpdb.h	\
220	m_debuginfo/priv_d3basics.h	\
221	m_debuginfo/priv_readdwarf.h	\
222	m_debuginfo/priv_readdwarf3.h	\
223	m_debuginfo/priv_readelf.h	\
224	m_debuginfo/priv_readexidx.h	\
225	m_debuginfo/priv_readmacho.h	\
226	m_debuginfo/priv_image.h	\
227	m_debuginfo/lzoconf.h		\
228	m_debuginfo/lzodefs.h		\
229	m_debuginfo/minilzo.h		\
230	m_demangle/ansidecl.h	\
231	m_demangle/cp-demangle.h \
232	m_demangle/dyn-string.h	\
233	m_demangle/demangle.h	\
234	m_demangle/safe-ctype.h \
235	m_demangle/vg_libciface.h \
236	m_gdbserver/regcache.h \
237	m_gdbserver/regdef.h \
238	m_gdbserver/server.h \
239	m_gdbserver/target.h \
240	m_gdbserver/valgrind_low.h \
241	m_gdbserver/gdb/signals.h \
242	m_initimg/priv_initimg_pathscan.h \
243	m_scheduler/priv_sema.h \
244	m_scheduler/priv_sched-lock.h \
245	m_scheduler/priv_sched-lock-impl.h \
246	m_sigframe/priv_sigframe.h \
247	m_syswrap/priv_types_n_macros.h \
248	m_syswrap/priv_syswrap-generic.h \
249	m_syswrap/priv_syswrap-linux.h \
250	m_syswrap/priv_syswrap-linux-variants.h \
251	m_syswrap/priv_syswrap-darwin.h \
252	m_syswrap/priv_syswrap-main.h \
253	m_syswrap/priv_syswrap-xen.h \
254	m_ume/priv_ume.h \
255	vgdb.h
256
257#----------------------------------------------------------------------------
258# libcoregrind-<platform>.a
259#----------------------------------------------------------------------------
260
261BUILT_SOURCES = $(mach_user_srcs)
262CLEANFILES    = $(mach_user_srcs) $(mach_server_srcs) $(mach_hdrs)
263
264pkglib_LIBRARIES  = libcoregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
265if VGCONF_HAVE_PLATFORM_SEC
266pkglib_LIBRARIES += libcoregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
267endif
268
269COREGRIND_SOURCES_COMMON = \
270	m_addrinfo.c \
271	m_cache.c \
272	m_commandline.c \
273	m_compiler.c \
274	m_clientstate.c \
275	m_cpuid.S \
276	m_deduppoolalloc.c \
277	m_debugger.c \
278	m_debuglog.c \
279	m_errormgr.c \
280	m_execontext.c \
281	m_poolalloc.c \
282	m_hashtable.c \
283	m_libcbase.c \
284	m_libcassert.c \
285	m_libcfile.c \
286	m_libcprint.c \
287	m_libcproc.c \
288	m_libcsetjmp.c \
289	m_libcsignal.c \
290	m_machine.c \
291	m_main.c \
292	m_mallocfree.c \
293	m_options.c \
294	m_oset.c \
295	m_rangemap.c \
296	m_redir.c \
297	m_sbprofile.c \
298	m_seqmatch.c \
299	m_signals.c \
300	m_sparsewa.c \
301	m_stacks.c \
302	m_stacktrace.c \
303	m_syscall.c \
304	m_threadstate.c \
305	m_tooliface.c \
306	m_trampoline.S \
307	m_translate.c \
308	m_transtab.c \
309	m_vki.c \
310	m_vkiscnums.c \
311	m_wordfm.c \
312	m_xarray.c \
313	m_aspacehl.c \
314	m_aspacemgr/aspacemgr-common.c \
315	m_aspacemgr/aspacemgr-linux.c \
316	m_aspacemgr/aspacemgr-segnames.c \
317	m_coredump/coredump-elf.c \
318	m_coredump/coredump-macho.c \
319	m_debuginfo/misc.c \
320	m_debuginfo/d3basics.c \
321	m_debuginfo/debuginfo.c \
322	m_debuginfo/readdwarf.c \
323	m_debuginfo/readdwarf3.c \
324	m_debuginfo/readelf.c \
325	m_debuginfo/readexidx.c \
326	m_debuginfo/readmacho.c \
327	m_debuginfo/readpdb.c \
328	m_debuginfo/storage.c \
329	m_debuginfo/tytypes.c \
330	m_debuginfo/image.c \
331	m_debuginfo/minilzo-inl.c \
332	m_demangle/cp-demangle.c \
333	m_demangle/cplus-dem.c \
334	m_demangle/demangle.c \
335	m_demangle/dyn-string.c \
336	m_demangle/safe-ctype.c \
337	m_dispatch/dispatch-x86-linux.S \
338	m_dispatch/dispatch-amd64-linux.S \
339	m_dispatch/dispatch-ppc32-linux.S \
340	m_dispatch/dispatch-ppc64be-linux.S \
341	m_dispatch/dispatch-ppc64le-linux.S \
342	m_dispatch/dispatch-arm-linux.S \
343	m_dispatch/dispatch-arm64-linux.S \
344	m_dispatch/dispatch-s390x-linux.S \
345	m_dispatch/dispatch-mips32-linux.S \
346	m_dispatch/dispatch-mips64-linux.S \
347	m_dispatch/dispatch-tilegx-linux.S \
348	m_dispatch/dispatch-x86-darwin.S \
349	m_dispatch/dispatch-amd64-darwin.S \
350	m_gdbserver/inferiors.c \
351	m_gdbserver/m_gdbserver.c \
352	m_gdbserver/regcache.c \
353	m_gdbserver/remote-utils.c \
354	m_gdbserver/server.c \
355	m_gdbserver/signals.c \
356	m_gdbserver/target.c \
357	m_gdbserver/utils.c \
358	m_gdbserver/valgrind-low-x86.c \
359	m_gdbserver/valgrind-low-amd64.c \
360	m_gdbserver/valgrind-low-arm.c \
361	m_gdbserver/valgrind-low-arm64.c \
362	m_gdbserver/valgrind-low-ppc32.c \
363	m_gdbserver/valgrind-low-ppc64.c \
364	m_gdbserver/valgrind-low-s390x.c \
365	m_gdbserver/valgrind-low-mips32.c \
366	m_gdbserver/valgrind-low-mips64.c \
367	m_gdbserver/valgrind-low-tilegx.c \
368	m_gdbserver/version.c \
369	m_initimg/initimg-linux.c \
370	m_initimg/initimg-darwin.c \
371	m_initimg/initimg-pathscan.c \
372	m_mach/mach_basics.c \
373	m_mach/mach_msg.c \
374	m_mach/mach_traps-x86-darwin.S \
375	m_mach/mach_traps-amd64-darwin.S \
376	m_replacemalloc/replacemalloc_core.c \
377	m_scheduler/scheduler.c \
378	m_scheduler/sema.c \
379	m_scheduler/sched-lock.c \
380	m_scheduler/sched-lock-generic.c \
381	m_sigframe/sigframe-common.c \
382	m_sigframe/sigframe-x86-linux.c \
383	m_sigframe/sigframe-amd64-linux.c \
384	m_sigframe/sigframe-ppc32-linux.c \
385	m_sigframe/sigframe-ppc64-linux.c \
386	m_sigframe/sigframe-arm-linux.c \
387	m_sigframe/sigframe-arm64-linux.c \
388	m_sigframe/sigframe-s390x-linux.c \
389	m_sigframe/sigframe-mips32-linux.c \
390	m_sigframe/sigframe-mips64-linux.c \
391	m_sigframe/sigframe-tilegx-linux.c \
392	m_sigframe/sigframe-x86-darwin.c \
393	m_sigframe/sigframe-amd64-darwin.c \
394	m_syswrap/syscall-x86-linux.S \
395	m_syswrap/syscall-amd64-linux.S \
396	m_syswrap/syscall-ppc32-linux.S \
397	m_syswrap/syscall-ppc64be-linux.S \
398	m_syswrap/syscall-ppc64le-linux.S \
399	m_syswrap/syscall-arm-linux.S \
400	m_syswrap/syscall-arm64-linux.S \
401	m_syswrap/syscall-s390x-linux.S \
402	m_syswrap/syscall-mips32-linux.S \
403	m_syswrap/syscall-mips64-linux.S \
404	m_syswrap/syscall-tilegx-linux.S \
405	m_syswrap/syscall-x86-darwin.S \
406	m_syswrap/syscall-amd64-darwin.S \
407	m_syswrap/syswrap-main.c \
408	m_syswrap/syswrap-generic.c \
409	m_syswrap/syswrap-linux.c \
410	m_syswrap/syswrap-linux-variants.c \
411	m_syswrap/syswrap-darwin.c \
412	m_syswrap/syswrap-x86-linux.c \
413	m_syswrap/syswrap-amd64-linux.c \
414	m_syswrap/syswrap-ppc32-linux.c \
415	m_syswrap/syswrap-ppc64-linux.c \
416	m_syswrap/syswrap-arm-linux.c \
417	m_syswrap/syswrap-arm64-linux.c \
418	m_syswrap/syswrap-s390x-linux.c \
419	m_syswrap/syswrap-mips32-linux.c \
420	m_syswrap/syswrap-mips64-linux.c \
421	m_syswrap/syswrap-tilegx-linux.c \
422	m_syswrap/syswrap-x86-darwin.c \
423	m_syswrap/syswrap-amd64-darwin.c \
424	m_syswrap/syswrap-xen.c \
425	m_ume/elf.c \
426	m_ume/macho.c \
427	m_ume/main.c \
428	m_ume/script.c
429
430libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
431    $(COREGRIND_SOURCES_COMMON)
432nodist_libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
433    $(BUILT_SOURCES)
434libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
435    $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
436libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
437    $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
438libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CCASFLAGS = \
439    $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
440if ENABLE_LINUX_TICKET_LOCK_PRIMARY
441libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES += \
442    m_scheduler/ticket-lock-linux.c
443libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
444    -DENABLE_LINUX_TICKET_LOCK
445endif
446
447if VGCONF_HAVE_PLATFORM_SEC
448libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
449    $(COREGRIND_SOURCES_COMMON)
450nodist_libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
451    $(BUILT_SOURCES)
452libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
453    $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
454libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
455    $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
456libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CCASFLAGS = \
457    $(AM_CCASFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
458if ENABLE_LINUX_TICKET_LOCK_SECONDARY
459libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES += \
460    m_scheduler/ticket-lock-linux.c
461libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
462    -DENABLE_LINUX_TICKET_LOCK
463endif
464endif
465
466#----------------------------------------------------------------------------
467# libreplacemalloc_toolpreload-<platform>.a
468#----------------------------------------------------------------------------
469
470pkglib_LIBRARIES += libreplacemalloc_toolpreload-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
471if VGCONF_HAVE_PLATFORM_SEC
472pkglib_LIBRARIES += libreplacemalloc_toolpreload-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
473endif
474
475libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
476	m_replacemalloc/vg_replace_malloc.c
477libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
478	$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
479libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
480	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
481if VGCONF_HAVE_PLATFORM_SEC
482libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
483	m_replacemalloc/vg_replace_malloc.c
484libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
485	$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
486libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
487	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
488endif
489
490#----------------------------------------------------------------------------
491# vgpreload_core-<platform>.a
492#----------------------------------------------------------------------------
493
494noinst_PROGRAMS  = vgpreload_core-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
495if VGCONF_HAVE_PLATFORM_SEC
496noinst_PROGRAMS += vgpreload_core-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
497endif
498
499if VGCONF_OS_IS_DARWIN
500noinst_DSYMS = $(noinst_PROGRAMS)
501endif
502
503vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = vg_preloaded.c
504vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
505	$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
506vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
507	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
508vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
509	$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
510if VGCONF_HAVE_PLATFORM_SEC
511vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = vg_preloaded.c
512vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
513	$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
514vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
515	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
516vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
517	$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
518endif
519
520#----------------------------------------------------------------------------
521# gdbserver xml target descriptions
522#----------------------------------------------------------------------------
523
524GDBSERVER_XML_FILES = \
525	m_gdbserver/32bit-core-valgrind-s1.xml \
526	m_gdbserver/32bit-core-valgrind-s2.xml \
527	m_gdbserver/32bit-core.xml \
528	m_gdbserver/32bit-linux-valgrind-s1.xml \
529	m_gdbserver/32bit-linux-valgrind-s2.xml \
530	m_gdbserver/32bit-linux.xml \
531	m_gdbserver/32bit-sse-valgrind-s1.xml \
532	m_gdbserver/32bit-sse-valgrind-s2.xml \
533	m_gdbserver/32bit-sse.xml \
534	m_gdbserver/64bit-avx-valgrind-s2.xml \
535	m_gdbserver/64bit-avx-valgrind-s1.xml \
536	m_gdbserver/64bit-avx.xml \
537	m_gdbserver/64bit-core-valgrind-s1.xml \
538	m_gdbserver/64bit-core-valgrind-s2.xml \
539	m_gdbserver/64bit-core.xml \
540	m_gdbserver/64bit-linux-valgrind-s1.xml \
541	m_gdbserver/64bit-linux-valgrind-s2.xml \
542	m_gdbserver/64bit-linux.xml \
543	m_gdbserver/64bit-sse-valgrind-s1.xml \
544	m_gdbserver/64bit-sse-valgrind-s2.xml \
545	m_gdbserver/64bit-sse.xml \
546	m_gdbserver/amd64-avx-coresse-valgrind.xml \
547	m_gdbserver/amd64-avx-coresse.xml \
548	m_gdbserver/amd64-avx-linux-valgrind.xml \
549	m_gdbserver/amd64-avx-linux.xml \
550	m_gdbserver/amd64-coresse-valgrind.xml \
551	m_gdbserver/amd64-linux-valgrind.xml \
552	m_gdbserver/arm-core-valgrind-s1.xml \
553	m_gdbserver/arm-core-valgrind-s2.xml \
554	m_gdbserver/arm-core.xml \
555	m_gdbserver/arm-vfpv3-valgrind-s1.xml \
556	m_gdbserver/arm-vfpv3-valgrind-s2.xml \
557	m_gdbserver/arm-vfpv3.xml \
558	m_gdbserver/arm-with-vfpv3-valgrind.xml \
559	m_gdbserver/arm-with-vfpv3.xml \
560	m_gdbserver/i386-coresse-valgrind.xml \
561	m_gdbserver/i386-linux-valgrind.xml \
562	m_gdbserver/power64-core-valgrind-s1.xml \
563	m_gdbserver/power64-core-valgrind-s2.xml \
564	m_gdbserver/power64-core.xml \
565	m_gdbserver/power64-linux-valgrind-s1.xml \
566	m_gdbserver/power64-linux-valgrind-s2.xml \
567	m_gdbserver/power64-linux.xml \
568	m_gdbserver/power-altivec-valgrind-s1.xml \
569	m_gdbserver/power-altivec-valgrind-s2.xml \
570	m_gdbserver/power-altivec.xml \
571	m_gdbserver/power-core-valgrind-s1.xml \
572	m_gdbserver/power-core-valgrind-s2.xml \
573	m_gdbserver/power-core.xml \
574	m_gdbserver/power-fpu-valgrind-s1.xml \
575	m_gdbserver/power-fpu-valgrind-s2.xml \
576	m_gdbserver/power-fpu.xml \
577	m_gdbserver/power-linux-valgrind-s1.xml \
578	m_gdbserver/power-linux-valgrind-s2.xml \
579	m_gdbserver/power-linux.xml \
580	m_gdbserver/powerpc-altivec32l-valgrind.xml \
581	m_gdbserver/powerpc-altivec32l.xml \
582	m_gdbserver/powerpc-altivec64l-valgrind.xml \
583	m_gdbserver/powerpc-altivec64l.xml \
584	m_gdbserver/s390-acr-valgrind-s1.xml \
585	m_gdbserver/s390-acr-valgrind-s2.xml \
586	m_gdbserver/s390-acr.xml \
587	m_gdbserver/s390-fpr-valgrind-s1.xml \
588	m_gdbserver/s390-fpr-valgrind-s2.xml \
589	m_gdbserver/s390-fpr.xml \
590	m_gdbserver/s390x-core64-valgrind-s1.xml \
591	m_gdbserver/s390x-core64-valgrind-s2.xml \
592	m_gdbserver/s390x-core64.xml \
593	m_gdbserver/s390x-generic-valgrind.xml \
594	m_gdbserver/s390x-generic.xml \
595	m_gdbserver/s390x-linux64-valgrind-s1.xml \
596	m_gdbserver/s390x-linux64-valgrind-s2.xml \
597	m_gdbserver/s390x-linux64.xml \
598	m_gdbserver/mips-cp0-valgrind-s1.xml \
599	m_gdbserver/mips-cp0-valgrind-s2.xml \
600	m_gdbserver/mips-cp0.xml \
601	m_gdbserver/mips-cpu-valgrind-s1.xml \
602	m_gdbserver/mips-cpu-valgrind-s2.xml \
603	m_gdbserver/mips-cpu.xml \
604	m_gdbserver/mips-linux.xml \
605	m_gdbserver/mips-linux-valgrind.xml \
606	m_gdbserver/mips-fpu-valgrind-s1.xml \
607	m_gdbserver/mips-fpu-valgrind-s2.xml \
608	m_gdbserver/mips-fpu.xml \
609	m_gdbserver/mips64-cp0-valgrind-s1.xml \
610	m_gdbserver/mips64-cp0-valgrind-s2.xml \
611	m_gdbserver/mips64-cp0.xml \
612	m_gdbserver/mips64-cpu-valgrind-s1.xml \
613	m_gdbserver/mips64-cpu-valgrind-s2.xml \
614	m_gdbserver/mips64-cpu.xml \
615	m_gdbserver/mips64-linux.xml \
616	m_gdbserver/mips64-linux-valgrind.xml \
617	m_gdbserver/mips64-fpu-valgrind-s1.xml \
618	m_gdbserver/mips64-fpu-valgrind-s2.xml \
619	m_gdbserver/mips64-fpu.xml
620
621# so as to make sure these get copied into the install tree
622vglibdir = $(pkglibdir)
623vglib_DATA  = $(GDBSERVER_XML_FILES)
624
625# so as to make sure these get copied into the tarball
626EXTRA_DIST  += $(GDBSERVER_XML_FILES)
627
628#----------------------------------------------------------------------------
629# General stuff
630#----------------------------------------------------------------------------
631
632all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS
633	mkdir -p $(inplacedir); \
634	for f in $(vglib_DATA); do \
635	  rm -f $(inplacedir)/$$f; \
636	  ln -f -s ../$(subdir)/$$f $(inplacedir); \
637	done
638
639clean-local: clean-noinst_DSYMS
640
641install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS
642
643uninstall-local: uninstall-noinst_PROGRAMS uninstall-noinst_DSYMS
644
645#----------------------------------------------------------------------------
646# Darwin linker kludges
647#----------------------------------------------------------------------------
648
649if VGCONF_OS_IS_DARWIN
650
651BUILT_SOURCES += fixup_macho_loadcmds
652fixup_macho_loadcmds: fixup_macho_loadcmds.c
653	$(CC) -I $(top_srcdir) -g -Wall -o $@ $<
654
655CLEANFILES += fixup_macho_loadcmds
656
657endif
658
659EXTRA_DIST += fixup_macho_loadcmds.c
660