From Craig Silverstein: Clean up make rules for debug_msg.
[external/binutils.git] / gold / testsuite / Makefile.am
1 # Process this file with automake to generate Makefile.in
2
3 # As far as I can tell automake testing support assumes that the build
4 # system and the host system are the same.  So these tests will not
5 # work when building with a cross-compiler.
6
7 AUTOMAKE_OPTIONS =
8
9 # The two_file_test tests -fmerge-constants, so we simply always turn
10 # it on.  This may need to be controlled by a configure option
11 # eventually.
12 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS) -fmerge-constants
13
14 INCLUDES = \
15         -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
16         -I$(srcdir)/../../elfcpp \
17         -DLOCALEDIR="\"$(datadir)/locale\"" \
18         @INCINTL@
19
20 if THREADS
21 THREADSLIB = -lpthread
22 endif
23
24 check_SCRIPTS = debug_msg.sh
25 check_DATA =
26
27 TESTS = object_unittest
28
29 if GCC
30
31 TESTS += debug_msg.sh
32
33 check_DATA += debug_msg.err
34
35 if NATIVE_LINKER
36
37 NATIVE_PROGS = \
38         constructor_test \
39         constructor_static_test \
40         two_file_test \
41         two_file_static_test \
42         two_file_pic_test \
43         two_file_shared_1_test \
44         two_file_shared_2_test \
45         two_file_same_shared_test \
46         two_file_separate_shared_12_test \
47         two_file_separate_shared_21_test \
48         exception_test \
49         exception_static_test \
50         exception_shared_1_test \
51         exception_shared_2_test \
52         exception_same_shared_test \
53         exception_separate_shared_12_test \
54         exception_separate_shared_21_test \
55         weak_test
56
57 if FN_PTRS_IN_SO_WITHOUT_PIC
58
59 NATIVE_PROGS += \
60         two_file_shared_1_nonpic_test \
61         two_file_shared_2_nonpic_test \
62         two_file_same_shared_nonpic_test \
63         two_file_separate_shared_12_nonpic_test \
64         two_file_separate_shared_21_nonpic_test
65
66 endif
67
68 if TLS
69
70 NATIVE_PROGS += \
71         tls_test \
72         tls_pic_test \
73         tls_shared_test
74
75 if STATIC_TLS
76
77 NATIVE_PROGS += \
78         tls_static_test \
79         tls_static_pic_test
80
81 endif
82
83 if FN_PTRS_IN_SO_WITHOUT_PIC
84
85 NATIVE_PROGS += \
86         tls_shared_nonpic_test
87
88 endif
89 endif
90
91 NATIVE_TESTING = \
92         basic_test \
93         basic_pic_test \
94         basic_static_test \
95         basic_static_pic_test \
96         $(NATIVE_PROGS)
97
98 endif
99 endif
100
101 TESTS += $(NATIVE_TESTING)
102
103 check_LIBRARIES = libgoldtest.a
104 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
105
106 DEPENDENCIES = \
107         libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
108 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
109         $(THREADSLIB)
110
111 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
112
113 object_unittest_SOURCES = object_unittest.cc
114
115 if GCC
116
117 debug_msg.o: debug_msg.cc
118         $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc
119 debug_msg.err: debug_msg.o
120         if $(CXXLINK) -Bgcctestdir/ -o debug_msg debug_msg.o 2>$@; \
121         then \
122           echo 2>&1 "Link of debug_msg.o should have failed"; \
123           exit 1; \
124         fi
125
126 if NATIVE_LINKER
127
128 gcctestdir/ld: ../ld-new
129         test -d gcctestdir || mkdir -p gcctestdir
130         rm -f gcctestdir/ld
131         (cd gcctestdir && $(LN_S) ../../ld-new ld)
132
133 # Override the default CXXFLAGS--we don't want any optimization
134 basic_test.o: basic_test.cc
135         $(CXXCOMPILE) -O0 -c -o $@ $<
136 basic_test: basic_test.o gcctestdir/ld
137         $(CXXLINK) -Bgcctestdir/ basic_test.o
138 basic_static_test: basic_test.o gcctestdir/ld
139         $(CXXLINK) -Bgcctestdir/ -static basic_test.o
140
141 basic_pic_test.o: basic_test.cc
142         $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
143 basic_pic_test: basic_pic_test.o gcctestdir/ld
144         $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
145 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
146         $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
147
148 constructor_test_SOURCES = constructor_test.cc
149 constructor_test_DEPENDENCIES = gcctestdir/ld
150 constructor_test_LDFLAGS = -Bgcctestdir/
151
152 constructor_static_test_SOURCES = constructor_test.cc
153 constructor_static_test_DEPENDENCIES = gcctestdir/ld
154 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
155
156 two_file_test_SOURCES = \
157         two_file_test_1.cc \
158         two_file_test_2.cc \
159         two_file_test_main.cc \
160         two_file_test.h
161 two_file_test_DEPENDENCIES = gcctestdir/ld
162 two_file_test_LDFLAGS = -Bgcctestdir/
163
164 two_file_static_test_SOURCES = \
165         two_file_test_1.cc two_file_test_2.cc two_file_test_main.cc
166 two_file_static_test_DEPENDENCIES = gcctestdir/ld
167 two_file_static_test_LDFLAGS = -Bgcctestdir/ -static
168
169 two_file_pic_test_SOURCES = two_file_test_main.cc
170 two_file_pic_test_DEPENDENCIES = \
171         gcctestdir/ld two_file_test_1_pic.o two_file_test_2_pic.o
172 two_file_pic_test_LDFLAGS = -Bgcctestdir/
173 two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_2_pic.o
174
175 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
176 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
177 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
178 two_file_shared_1_test_LDADD = two_file_shared_1.so
179
180 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
181 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
182 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
183 two_file_shared_2_test_LDADD = two_file_shared_2.so
184
185 two_file_same_shared_test_SOURCES = two_file_test_main.cc
186 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
187 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
188 two_file_same_shared_test_LDADD = two_file_shared.so
189
190 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
191 two_file_separate_shared_12_test_DEPENDENCIES = \
192         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
193 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
194 two_file_separate_shared_12_test_LDADD = \
195         two_file_shared_1.so two_file_shared_2.so
196
197 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
198 two_file_separate_shared_21_test_DEPENDENCIES = \
199         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
200 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
201 two_file_separate_shared_21_test_LDADD = \
202         two_file_shared_2.so two_file_shared_1.so
203
204 two_file_test_1_pic.o: two_file_test_1.cc
205         $(CXXCOMPILE) -c -fpic -o $@ $<
206 two_file_test_2_pic.o: two_file_test_2.cc
207         $(CXXCOMPILE) -c -fpic -o $@ $<
208
209 two_file_shared_1.so: two_file_test_1_pic.o
210         $(CXXLINK) -shared two_file_test_1_pic.o
211 two_file_shared_2.so: two_file_test_2_pic.o
212         $(CXXLINK) -shared two_file_test_2_pic.o
213 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
214         $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
215
216 # The nonpic tests will fail on platforms which can not put non-PIC
217 # code into shared libraries, so we just don't run them in that case.
218
219 if FN_PTRS_IN_SO_WITHOUT_PIC
220
221 two_file_shared_1_nonpic_test_SOURCES = \
222         two_file_test_2.cc two_file_test_main.cc
223 two_file_shared_1_nonpic_test_DEPENDENCIES = \
224         gcctestdir/ld two_file_shared_1_nonpic.so
225 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
226 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
227
228 two_file_shared_2_nonpic_test_SOURCES = \
229         two_file_test_1.cc two_file_test_main.cc
230 two_file_shared_2_nonpic_test_DEPENDENCIES = \
231         gcctestdir/ld two_file_shared_2_nonpic.so
232 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
233 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
234
235 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
236 two_file_same_shared_nonpic_test_DEPENDENCIES = \
237         gcctestdir/ld two_file_shared_nonpic.so
238 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
239 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
240
241 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
242 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
243         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
244 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
245 two_file_separate_shared_12_nonpic_test_LDADD = \
246         two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
247
248 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
249 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
250         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
251 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
252 two_file_separate_shared_21_nonpic_test_LDADD = \
253         two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
254
255 two_file_shared_1_nonpic.so: two_file_test_1.o
256         $(CXXLINK) -shared two_file_test_1.o
257 two_file_shared_2_nonpic.so: two_file_test_2.o
258         $(CXXLINK) -shared two_file_test_2.o
259 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
260         $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
261
262 endif
263
264 exception_test_SOURCES = \
265         exception_test_main.cc \
266         exception_test_1.cc \
267         exception_test_2.cc \
268         exception_test.h
269 exception_test_DEPENDENCIES = gcctestdir/ld
270 exception_test_LDFLAGS = -Bgcctestdir/
271
272 exception_static_test_SOURCES = \
273         exception_test_main.cc \
274         exception_test_1.cc \
275         exception_test_2.cc
276 exception_static_test_DEPENDENCIES = gcctestdir/ld
277 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
278
279 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
280 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
281 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
282 exception_shared_1_test_LDADD = exception_shared_1.so
283
284 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
285 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
286 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
287 exception_shared_2_test_LDADD = exception_shared_2.so
288
289 exception_same_shared_test_SOURCES = exception_test_main.cc
290 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
291 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
292 exception_same_shared_test_LDADD = exception_shared.so
293
294 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
295 exception_separate_shared_12_test_DEPENDENCIES = \
296         gcctestdir/ld exception_shared_1.so exception_shared_2.so
297 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
298 exception_separate_shared_12_test_LDADD = \
299         exception_shared_1.so exception_shared_2.so
300
301 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
302 exception_separate_shared_21_test_DEPENDENCIES = \
303         gcctestdir/ld exception_shared_1.so exception_shared_2.so
304 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
305 exception_separate_shared_21_test_LDADD = \
306         exception_shared_2.so exception_shared_1.so
307
308 exception_test_1_pic.o: exception_test_1.cc
309         $(CXXCOMPILE) -c -fpic -o $@ $<
310 exception_test_2_pic.o: exception_test_2.cc
311         $(CXXCOMPILE) -c -fpic -o $@ $<
312
313 exception_shared_1.so: exception_test_1_pic.o
314         $(CXXLINK) -shared exception_test_1_pic.o
315 exception_shared_2.so: exception_test_2_pic.o
316         $(CXXLINK) -shared exception_test_2_pic.o
317 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
318         $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
319
320 weak_test_SOURCES = weak_test.cc
321 weak_test_LDFLAGS = -Bgcctestdir/
322
323 if TLS
324
325 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
326 tls_test_DEPENDENCIES = gcctestdir/ld
327 tls_test_LDFLAGS = -Bgcctestdir/
328 tls_test_LDADD = -lpthread
329
330 tls_pic_test_SOURCES = tls_test_main.cc
331 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
332 tls_pic_test_LDFLAGS = -Bgcctestdir/
333 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
334
335 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
336 tls_static_test_DEPENDENCIES = gcctestdir/ld
337 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
338 tls_static_test_LDADD = -lpthread
339
340 tls_static_pic_test_SOURCES = tls_test_main.cc
341 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
342 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
343 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
344
345 tls_shared_test_SOURCES = tls_test_main.cc
346 tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
347 tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
348 tls_shared_test_LDADD = tls_test_shared.so -lpthread
349
350 tls_test_pic.o: tls_test.cc
351         $(CXXCOMPILE) -c -fpic -o $@ $<
352
353 tls_test_file2_pic.o: tls_test_file2.cc
354         $(CXXCOMPILE) -c -fpic -o $@ $<
355
356 tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o
357         $(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o
358
359 if FN_PTRS_IN_SO_WITHOUT_PIC
360
361 tls_shared_nonpic_test_SOURCES = tls_test_main.cc
362 tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
363 tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
364 tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread
365
366 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
367         $(CXXLINK) -shared tls_test.o tls_test_file2.o
368
369 endif
370
371 endif
372
373 endif
374 endif