Full support for --sysroot.
[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 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS)
10
11 INCLUDES = -D_GNU_SOURCE \
12         -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
13         -I$(srcdir)/../../elfcpp \
14         -DLOCALEDIR="\"$(datadir)/locale\"" \
15         @INCINTL@
16
17 if GCC
18 if NATIVE_LINKER
19
20 NATIVE_PROGS = \
21         constructor_test \
22         constructor_static_test \
23         two_file_test \
24         two_file_shared_1_test \
25         two_file_shared_2_test \
26         two_file_same_shared_test \
27         two_file_separate_shared_12_test \
28         two_file_separate_shared_21_test \
29         exception_test \
30         exception_static_test \
31         exception_shared_1_test \
32         exception_shared_2_test \
33         exception_same_shared_test \
34         exception_separate_shared_12_test \
35         exception_separate_shared_21_test
36
37 if FN_PTRS_IN_SO_WITHOUT_PIC
38
39 NATIVE_PROGS += \
40         two_file_shared_1_nonpic_test \
41         two_file_shared_2_nonpic_test \
42         two_file_same_shared_nonpic_test \
43         two_file_separate_shared_12_nonpic_test \
44         two_file_separate_shared_21_nonpic_test
45
46 endif
47
48 NATIVE_TESTING = \
49         basic_test \
50         basic_pic_test \
51         basic_static_test \
52         basic_static_pic_test \
53         $(NATIVE_PROGS)
54
55 endif
56 endif
57
58 TESTS = object_unittest $(NATIVE_TESTING)
59
60 check_LIBRARIES = libgoldtest.a
61 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
62
63 DEPENDENCIES = \
64         libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
65 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL)
66
67 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
68
69 object_unittest_SOURCES = object_unittest.cc
70
71 if GCC
72 if NATIVE_LINKER
73
74 gcctestdir/ld: ../ld-new
75         test -d gcctestdir || mkdir -p gcctestdir
76         rm -f gcctestdir/ld
77         (cd gcctestdir && $(LN_S) ../../ld-new ld)
78
79 # Override the default CXXFLAGS--we don't want any optimization
80 basic_test.o: basic_test.cc
81         $(CXXCOMPILE) -O0 -c -o $@ $<
82 basic_test: basic_test.o gcctestdir/ld
83         $(CXXLINK) -Bgcctestdir/ basic_test.o
84 basic_static_test: basic_test.o gcctestdir/ld
85         $(CXXLINK) -Bgcctestdir/ -static basic_test.o
86
87 basic_pic_test.o: basic_test.cc
88         $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
89 basic_pic_test: basic_pic_test.o gcctestdir/ld
90         $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
91 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
92         $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
93
94 constructor_test_SOURCES = constructor_test.cc
95 constructor_test_DEPENDENCIES = gcctestdir/ld
96 constructor_test_LDFLAGS = -Bgcctestdir/
97
98 constructor_static_test_SOURCES = constructor_test.cc
99 constructor_static_test_DEPENDENCIES = gcctestdir/ld
100 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
101
102 two_file_test_SOURCES = \
103         two_file_test_1.cc \
104         two_file_test_2.cc \
105         two_file_test_main.cc \
106         two_file_test.h
107 two_file_test_DEPENDENCIES = gcctestdir/ld
108 two_file_test_LDFLAGS = -Bgcctestdir/
109
110 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
111 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
112 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
113 two_file_shared_1_test_LDADD = two_file_shared_1.so
114
115 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
116 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
117 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
118 two_file_shared_2_test_LDADD = two_file_shared_2.so
119
120 two_file_same_shared_test_SOURCES = two_file_test_main.cc
121 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
122 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
123 two_file_same_shared_test_LDADD = two_file_shared.so
124
125 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
126 two_file_separate_shared_12_test_DEPENDENCIES = \
127         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
128 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
129 two_file_separate_shared_12_test_LDADD = \
130         two_file_shared_1.so two_file_shared_2.so
131
132 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
133 two_file_separate_shared_21_test_DEPENDENCIES = \
134         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
135 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
136 two_file_separate_shared_21_test_LDADD = \
137         two_file_shared_2.so two_file_shared_1.so
138
139 two_file_test_1_pic.o: two_file_test_1.cc
140         $(CXXCOMPILE) -c -fpic -o $@ $<
141 two_file_test_2_pic.o: two_file_test_2.cc
142         $(CXXCOMPILE) -c -fpic -o $@ $<
143
144 two_file_shared_1.so: two_file_test_1_pic.o
145         $(CXXLINK) -shared two_file_test_1_pic.o
146 two_file_shared_2.so: two_file_test_2_pic.o
147         $(CXXLINK) -shared two_file_test_2_pic.o
148 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
149         $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
150
151 # The nonpic tests will fail on platforms which can not put non-PIC
152 # code into shared libraries, so we just don't run them in that case.
153
154 if FN_PTRS_IN_SO_WITHOUT_PIC
155
156 two_file_shared_1_nonpic_test_SOURCES = \
157         two_file_test_2.cc two_file_test_main.cc
158 two_file_shared_1_nonpic_test_DEPENDENCIES = \
159         gcctestdir/ld two_file_shared_1_nonpic.so
160 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
161 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
162
163 two_file_shared_2_nonpic_test_SOURCES = \
164         two_file_test_1.cc two_file_test_main.cc
165 two_file_shared_2_nonpic_test_DEPENDENCIES = \
166         gcctestdir/ld two_file_shared_2_nonpic.so
167 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
168 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
169
170 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
171 two_file_same_shared_nonpic_test_DEPENDENCIES = \
172         gcctestdir/ld two_file_shared_nonpic.so
173 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
174 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
175
176 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
177 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
178         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
179 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
180 two_file_separate_shared_12_nonpic_test_LDADD = \
181         two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
182
183 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
184 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
185         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
186 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
187 two_file_separate_shared_21_nonpic_test_LDADD = \
188         two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
189
190 two_file_shared_1_nonpic.so: two_file_test_1.o
191         $(CXXLINK) -shared two_file_test_1.o
192 two_file_shared_2_nonpic.so: two_file_test_2.o
193         $(CXXLINK) -shared two_file_test_2.o
194 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
195         $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
196
197 endif
198
199 exception_test_SOURCES = \
200         exception_test_main.cc \
201         exception_test_1.cc \
202         exception_test_2.cc \
203         exception_test.h
204 exception_test_DEPENDENCIES = gcctestdir/ld
205 exception_test_LDFLAGS = -Bgcctestdir/
206
207 exception_static_test_SOURCES = \
208         exception_test_main.cc \
209         exception_test_1.cc \
210         exception_test_2.cc
211 exception_static_test_DEPENDENCIES = gcctestdir/ld
212 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
213
214 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
215 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
216 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
217 exception_shared_1_test_LDADD = exception_shared_1.so
218
219 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
220 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
221 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
222 exception_shared_2_test_LDADD = exception_shared_2.so
223
224 exception_same_shared_test_SOURCES = exception_test_main.cc
225 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
226 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
227 exception_same_shared_test_LDADD = exception_shared.so
228
229 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
230 exception_separate_shared_12_test_DEPENDENCIES = \
231         gcctestdir/ld exception_shared_1.so exception_shared_2.so
232 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
233 exception_separate_shared_12_test_LDADD = \
234         exception_shared_1.so exception_shared_2.so
235
236 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
237 exception_separate_shared_21_test_DEPENDENCIES = \
238         gcctestdir/ld exception_shared_1.so exception_shared_2.so
239 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
240 exception_separate_shared_21_test_LDADD = \
241         exception_shared_2.so exception_shared_1.so
242
243 exception_test_1_pic.o: exception_test_1.cc
244         $(CXXCOMPILE) -c -fpic -o $@ $<
245 exception_test_2_pic.o: exception_test_2.cc
246         $(CXXCOMPILE) -c -fpic -o $@ $<
247
248 exception_shared_1.so: exception_test_1_pic.o
249         $(CXXLINK) -shared exception_test_1_pic.o
250 exception_shared_2.so: exception_test_2_pic.o
251         $(CXXLINK) -shared exception_test_2_pic.o
252 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
253         $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
254
255 endif
256 endif