]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/Makefile.tool.am
update
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / Makefile.tool.am
1
2 SUBDIRS = . tests
3
4 include $(top_srcdir)/Makefile.all.am
5
6 #----------------------------------------------------------------------------
7 # <tool>-<platform> stuff
8 #----------------------------------------------------------------------------
9
10 TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@ = \
11         $(top_builddir)/coregrind/libcoregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \
12         $(top_builddir)/VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
13 if VGCONF_HAVE_PLATFORM_SEC
14 TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@ = \
15         $(top_builddir)/coregrind/libcoregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a \
16         $(top_builddir)/VEX/libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
17 endif
18
19
20 TOOL_LDADD_COMMON = -lgcc
21 TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@ = \
22         $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@) $(TOOL_LDADD_COMMON)
23 if VGCONF_HAVE_PLATFORM_SEC
24 TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@ = \
25         $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@) $(TOOL_LDADD_COMMON)
26 endif
27
28
29 # -Wl,--build-id=none is needed when linking tools on Linux. Without this
30 # flag newer ld versions (2.20 and later) create a .note.gnu.build-id at the
31 # default text segment address, which of course means the resulting executable
32 # is unusable. So we have to tell ld not to generate that, with --build-id=none.
33 TOOL_LDFLAGS_COMMON_LINUX = \
34         -static -nodefaultlibs -nostartfiles -u _start @FLAG_NO_BUILD_ID@
35 TOOL_LDFLAGS_COMMON_AIX5 = \
36         -static -Wl,-e_start_valgrind
37 TOOL_LDFLAGS_COMMON_DARWIN = \
38         -nodefaultlibs -nostartfiles -Wl,-u,__start -Wl,-e,__start
39 TOOL_LDFLAGS_COMMON_L4RE = \
40          -static -nodefaultlibs -nostartfiles -u _start
41
42 TOOL_LDFLAGS_X86_LINUX = \
43         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
44
45 TOOL_LDFLAGS_AMD64_LINUX = \
46         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@
47
48 TOOL_LDFLAGS_PPC32_LINUX = \
49         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
50
51 TOOL_LDFLAGS_PPC64_LINUX = \
52         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@
53
54 TOOL_LDFLAGS_ARM_LINUX = \
55         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
56
57 TOOL_LDFLAGS_S390X_LINUX = \
58         $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@
59
60 TOOL_LDFLAGS_PPC32_AIX5 = \
61         $(TOOL_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@
62
63 TOOL_LDFLAGS_PPC64_AIX5 = \
64         $(TOOL_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@ -Wl,-bbigtoc
65
66 TOOL_LDFLAGS_X86_DARWIN = \
67         $(TOOL_LDFLAGS_COMMON_DARWIN) -arch i386
68
69 TOOL_LDADD_X86_L4RE =   \
70         $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@) \
71         $(L4_LDFLAGS) $(L4_CRTN) $(TOOL_LDADD_COMMON)
72
73 TOOL_LDFLAGS_X86_L4RE = \
74         -nostdinc -nostdlib $(L4_CRT0) $(TOOL_LDFLAGS_COMMON_L4RE) @FLAG_M32@
75
76 # pagezero can't be unmapped and remapped. Use stack instead.
77 # GrP fixme no stack guard
78 TOOL_LDFLAGS_AMD64_DARWIN = \
79         $(TOOL_LDFLAGS_COMMON_DARWIN) -arch x86_64
80
81
82 # NB for 64-bit darwin.  We may want to set -Wl,-pagezero_size to
83 # something smaller than the default of 4G, so as to facilitate
84 # loading clients who are also linked thusly (currently m_ume.c
85 # will fail to load them).  Although such setting is probably
86 # better done in link_tool_exe.c.
87 #       -Wl,-pagezero_size,0x100000000
88
89 #----------------------------------------------------------------------------
90 # vgpreload_<tool>-<platform>.a stuff
91 #----------------------------------------------------------------------------
92
93 LIBREPLACEMALLOC_X86_LINUX = \
94         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-linux.a
95
96 LIBREPLACEMALLOC_AMD64_LINUX = \
97         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-amd64-linux.a
98
99 LIBREPLACEMALLOC_PPC32_LINUX = \
100         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-ppc32-linux.a
101
102 LIBREPLACEMALLOC_PPC64_LINUX = \
103         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-ppc64-linux.a
104
105 LIBREPLACEMALLOC_ARM_LINUX = \
106         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-arm-linux.a
107
108 LIBREPLACEMALLOC_PPC32_AIX5 = \
109         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-ppc32-aix5.a
110
111 LIBREPLACEMALLOC_PPC64_AIX5 = \
112         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-ppc64-aix5.a
113
114 LIBREPLACEMALLOC_X86_DARWIN = \
115         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-darwin.a
116
117 LIBREPLACEMALLOC_AMD64_DARWIN = \
118         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-amd64-darwin.a
119
120 LIBREPLACEMALLOC_X86_L4RE = \
121         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-l4re.a
122
123 LIBREPLACEMALLOC_S390X_LINUX = \
124         $(top_builddir)/coregrind/libreplacemalloc_toolpreload-s390x-linux.a
125
126
127 LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
128         -Wl,--whole-archive \
129         $(LIBREPLACEMALLOC_X86_LINUX) \
130         -Wl,--no-whole-archive
131
132 LIBREPLACEMALLOC_LDFLAGS_AMD64_LINUX = \
133         -Wl,--whole-archive \
134         $(LIBREPLACEMALLOC_AMD64_LINUX) \
135         -Wl,--no-whole-archive
136
137 LIBREPLACEMALLOC_LDFLAGS_PPC32_LINUX = \
138         -Wl,--whole-archive \
139         $(LIBREPLACEMALLOC_PPC32_LINUX) \
140         -Wl,--no-whole-archive
141
142 LIBREPLACEMALLOC_LDFLAGS_PPC64_LINUX = \
143         -Wl,--whole-archive \
144         $(LIBREPLACEMALLOC_PPC64_LINUX) \
145         -Wl,--no-whole-archive
146
147 LIBREPLACEMALLOC_LDFLAGS_ARM_LINUX = \
148         -Wl,--whole-archive \
149         $(LIBREPLACEMALLOC_ARM_LINUX) \
150         -Wl,--no-whole-archive
151
152 LIBREPLACEMALLOC_LDFLAGS_PPC32_AIX5 = \
153         $(LIBREPLACEMALLOC_PPC32_AIX5)
154
155 LIBREPLACEMALLOC_LDFLAGS_PPC64_AIX5 = \
156         $(LIBREPLACEMALLOC_PPC64_AIX5)
157
158 LIBREPLACEMALLOC_LDFLAGS_X86_DARWIN = \
159         $(LIBREPLACEMALLOC_X86_DARWIN)
160
161 LIBREPLACEMALLOC_LDFLAGS_AMD64_DARWIN = \
162         $(LIBREPLACEMALLOC_AMD64_DARWIN)
163
164 LIBREPLACEMALLOC_LDFLAGS_X86_L4RE = \
165         -Wl,--whole-archive \
166         $(LIBREPLACEMALLOC_X86_L4RE) \
167         -Wl,--no-whole-archive
168
169
170 LIBREPLACEMALLOC_LDFLAGS_S390X_LINUX = \
171         -Wl,--whole-archive \
172         $(LIBREPLACEMALLOC_S390X_LINUX) \
173         -Wl,--no-whole-archive
174
175 #----------------------------------------------------------------------------
176 # General stuff
177 #----------------------------------------------------------------------------
178
179 all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS
180
181 clean-local: clean-noinst_DSYMS
182
183 install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS
184