]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/coregrind/Makefile.am
1195c9894729ebbd70dafe66e4f7ddcd69eb3e12
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / coregrind / Makefile.am
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
6 include $(top_srcdir)/Makefile.all.am
7
8 #----------------------------------------------------------------------------
9 # Basics, flags
10 #----------------------------------------------------------------------------
11
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@\""
21 endif
22
23
24 EXTRA_DIST = \
25         m_debuginfo/UNUSED_STABS.txt \
26         m_debuginfo/README.txt
27
28 #----------------------------------------------------------------------------
29 # The launcher.  Built for the primary target only.
30 #----------------------------------------------------------------------------
31
32 if VGCONF_OS_IS_L4RE
33 bin_PROGRAMS = 
34 else
35 bin_PROGRAMS = \
36         valgrind \
37         no_op_client_for_valgrind
38 endif
39
40 if VGCONF_OS_IS_LINUX
41 valgrind_SOURCES = \
42         launcher-linux.c \
43         m_debuglog.c
44 endif
45 if VGCONF_OS_IS_AIX5
46 valgrind_SOURCES = \
47         launcher-aix5.c \
48         m_debuglog.c \
49         m_vkiscnums.c
50 endif
51 if VGCONF_OS_IS_DARWIN
52 valgrind_SOURCES = \
53         launcher-darwin.c \
54         m_debuglog.c
55 endif
56
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)
62
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)
68
69 #----------------------------------------------------------------------------
70 # Darwin Mach stuff
71 #----------------------------------------------------------------------------
72
73 # Mach RPC interface definitions
74 # Here are some more .defs files that are not used, but could be in the
75 # future:
76 #       clock.defs \
77 #       clock_priv.defs \
78 #       clock_reply.defs \
79 #       exc.defs \
80 #       host_priv.defs \
81 #       host_security.defs \
82 #       ledger.defs \
83 #       lock_set.defs \
84 #       mach_host.defs \
85 #       mach_port.defs \
86 #       notify.defs \
87 #       processor.defs \
88 #       processor_set.defs \
89 #
90 mach_user_srcs =
91 mach_server_srcs =
92 mach_hdrs =
93 mach_defs =
94 if VGCONF_OS_IS_DARWIN
95 mach_user_srcs += \
96         m_mach/mach_vmUser.c \
97         m_mach/taskUser.c \
98         m_mach/thread_actUser.c \
99         m_mach/vm_mapUser.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
105 mach_hdrs += \
106         m_mach/mach_vm.h \
107         m_mach/task.h \
108         m_mach/thread_act.h \
109         m_mach/vm_map.h
110 mach_defs += \
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
115 endif
116
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))
123
124 #----------------------------------------------------------------------------
125 # Headers
126 #----------------------------------------------------------------------------
127
128 noinst_HEADERS = \
129         launcher-aix5-bootblock.h \
130         pub_core_aspacehl.h     \
131         pub_core_aspacemgr.h    \
132         pub_core_basics.h       \
133         pub_core_basics_asm.h   \
134         pub_core_clientstate.h  \
135         pub_core_clreq.h        \
136         pub_core_commandline.h  \
137         pub_core_coredump.h     \
138         pub_core_cpuid.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    \
148         pub_core_initimg.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   \
155         pub_core_mach.h         \
156         pub_core_machine.h      \
157         pub_core_mallocfree.h   \
158         pub_core_options.h      \
159         pub_core_oset.h         \
160         pub_core_redir.h        \
161         pub_core_replacemalloc.h\
162         pub_core_scheduler.h    \
163         pub_core_seqmatch.h     \
164         pub_core_sigframe.h     \
165         pub_core_signals.h      \
166         pub_core_sparsewa.h     \
167         pub_core_stacks.h       \
168         pub_core_stacktrace.h   \
169         pub_core_syscall.h      \
170         pub_core_syswrap.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 \
177         pub_core_ume.h          \
178         pub_core_vki.h          \
179         pub_core_vkiscnums.h    \
180         pub_core_vkiscnums_asm.h\
181         pub_core_wordfm.h       \
182         pub_core_xarray.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 \
211         m_ume/priv_ume.h
212
213 #----------------------------------------------------------------------------
214 # libcoregrind-<platform>.a
215 #----------------------------------------------------------------------------
216
217 BUILT_SOURCES = $(mach_user_srcs)
218 CLEANFILES    = $(mach_user_srcs) $(mach_server_srcs) $(mach_hdrs)
219
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
223 endif
224
225 COREGRIND_SOURCES_COMMON = \
226         m_commandline.c \
227         m_clientstate.c \
228         m_cpuid.S \
229         m_debugger.c \
230         m_debuglog.c \
231         m_errormgr.c \
232         m_execontext.c \
233         m_hashtable.c \
234         m_libcbase.c \
235         m_libcassert.c \
236         m_libcfile.c \
237         m_libcprint.c \
238         m_libcproc.c \
239         m_libcsignal.c \
240         m_machine.c \
241         m_main.c \
242         m_mallocfree.c \
243         m_options.c \
244         m_oset.c \
245         m_redir.c \
246         m_seqmatch.c \
247         m_signals.c \
248         m_sparsewa.c \
249         m_stacks.c \
250         m_stacktrace.c \
251         m_syscall.c \
252         m_threadstate.c \
253         m_tooliface.c \
254         m_trampoline.S \
255         m_translate.c \
256         m_transtab.c \
257         m_vki.c \
258         m_vkiscnums.c \
259         m_wordfm.c \
260         m_xarray.c \
261         m_aspacehl.c \
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 \
268         m_debuginfo/misc.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 \
299         m_mach/mach_msg.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 \
304         m_scheduler/sema.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 \
340         m_ume/elf.c \
341         m_ume/macho.c \
342         m_ume/main.c \
343         m_ume/script.c
344
345 if VGCONF_OS_IS_L4RE
346 COREGRIND_SOURCES_COMMON += \
347         l4re_helper.c \
348         l4re_trampoline.c \
349         l4re/vcap.cpp \
350         l4re/rm_init.cpp \
351         l4re/crt1.S \
352         l4re/__c_main.c \
353         l4re/myelf.c \
354         l4re/fd_names.cpp \
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
360 endif
361
362 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = blub.o
363 #libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = blub.o
364
365 blub.o : libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-l4re_trampoline.o
366         $(LD) -r -T$(top_srcdir)/coregrind/l4re_trampoline.ld $< -o $@
367         cp $@ $<
368         touch $@
369
370 libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
371     $(COREGRIND_SOURCES_COMMON)
372
373 nodist_libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
374     $(BUILT_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 = \
387     $(BUILT_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@)
394 endif
395
396 libcoregrind_ppc32_aix5_a_AR = $(AR) -X32 cru
397 libcoregrind_ppc64_aix5_a_AR = $(AR) -X64 cru
398
399 #----------------------------------------------------------------------------
400 # libreplacemalloc_toolpreload-<platform>.a
401 #----------------------------------------------------------------------------
402
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
406 endif
407
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)
421 endif
422
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
426
427 #----------------------------------------------------------------------------
428 # vgpreload_core-<platform>.a
429 #----------------------------------------------------------------------------
430
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
434 endif
435
436 if VGCONF_OS_IS_DARWIN
437 noinst_DSYMS = $(noinst_PROGRAMS)
438 endif
439
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@)
455 endif
456
457 #----------------------------------------------------------------------------
458 # General stuff
459 #----------------------------------------------------------------------------
460
461 all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS
462
463 clean-local: clean-noinst_DSYMS
464
465 install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS
466