Add two file test.
[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         two_file_shared_1_nonpic_test \
30         two_file_shared_2_nonpic_test \
31         two_file_same_shared_nonpic_test \
32         two_file_separate_shared_12_nonpic_test \
33         two_file_separate_shared_21_nonpic_test
34
35 NATIVE_TESTING = \
36         basic_test \
37         basic_pic_test \
38         basic_static_test \
39         basic_static_pic_test \
40         $(NATIVE_PROGS)
41
42 endif
43 endif
44
45 TESTS = object_unittest $(NATIVE_TESTING)
46
47 check_LIBRARIES = libgoldtest.a
48 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
49
50 LDADD = libgoldtest.a ../libgold.a
51
52 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
53
54 object_unittest_SOURCES = object_unittest.cc
55
56 if GCC
57 if NATIVE_LINKER
58
59 gcctestdir/ld: ../ld-new
60         test -d gcctestdir || mkdir -p gcctestdir
61         rm -f gcctestdir/ld
62         (cd gcctestdir && $(LN_S) ../../ld-new ld)
63
64 # Override the default CXXFLAGS--we don't want any optimization
65 basic_test.o: basic_test.cc
66         $(CXXCOMPILE) -O0 -c -o $@ $<
67 basic_test: basic_test.o gcctestdir/ld
68         $(CXXLINK) -Bgcctestdir/ basic_test.o
69 basic_static_test: basic_test.o gcctestdir/ld
70         $(CXXLINK) -Bgcctestdir/ -static basic_test.o
71
72 basic_pic_test.o: basic_test.cc
73         $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
74 basic_pic_test: basic_pic_test.o gcctestdir/ld
75         $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
76 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
77         $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
78
79 constructor_test_SOURCES = constructor_test.cc
80 constructor_test_DEPENDENCIES = gcctestdir/ld
81 constructor_test_LDFLAGS = -Bgcctestdir/
82
83 constructor_static_test_SOURCES = constructor_test.cc
84 constructor_static_test_DEPENDENCIES = gcctestdir/ld
85 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
86
87 two_file_test_SOURCES = \
88         two_file_test_1.cc \
89         two_file_test_2.cc \
90         two_file_test_main.cc \
91         two_file_test.h
92 two_file_test_DEPENDENCIES = gcctestdir/ld
93 two_file_test_LDFLAGS = -Bgcctestdir/
94
95 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
96 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
97 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
98 two_file_shared_1_test_LDADD = two_file_shared_1.so
99
100 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
101 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
102 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
103 two_file_shared_2_test_LDADD = two_file_shared_2.so
104
105 two_file_same_shared_test_SOURCES = two_file_test_main.cc
106 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
107 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
108 two_file_same_shared_test_LDADD = two_file_shared.so
109
110 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
111 two_file_separate_shared_12_test_DEPENDENCIES = \
112         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
113 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
114 two_file_separate_shared_12_test_LDADD = \
115         two_file_shared_1.so two_file_shared_2.so
116
117 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
118 two_file_separate_shared_21_test_DEPENDENCIES = \
119         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
120 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
121 two_file_separate_shared_21_test_LDADD = \
122         two_file_shared_2.so two_file_shared_1.so
123
124 # FIXME: The nonpic tests will fail on platforms which can not put
125 # non-PIC code into shared libraries; how should we handle this?
126
127 two_file_shared_1_nonpic_test_SOURCES = \
128         two_file_test_2.cc two_file_test_main.cc
129 two_file_shared_1_nonpic_test_DEPENDENCIES = \
130         gcctestdir/ld two_file_shared_1_nonpic.so
131 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
132 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
133
134 two_file_shared_2_nonpic_test_SOURCES = \
135         two_file_test_1.cc two_file_test_main.cc
136 two_file_shared_2_nonpic_test_DEPENDENCIES = \
137         gcctestdir/ld two_file_shared_2_nonpic.so
138 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
139 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
140
141 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
142 two_file_same_shared_nonpic_test_DEPENDENCIES = \
143         gcctestdir/ld two_file_shared_nonpic.so
144 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
145 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
146
147 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
148 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
149         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
150 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
151 two_file_separate_shared_12_nonpic_test_LDADD = \
152         two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
153
154 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
155 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
156         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
157 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
158 two_file_separate_shared_21_nonpic_test_LDADD = \
159         two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
160
161 two_file_test_1_pic.o: two_file_test_1.cc
162         $(CXXCOMPILE) -c -fpic -o $@ $<
163 two_file_test_2_pic.o: two_file_test_2.cc
164         $(CXXCOMPILE) -c -fpic -o $@ $<
165
166 two_file_shared_1.so: two_file_test_1_pic.o
167         $(CXXLINK) -shared two_file_test_1_pic.o
168 two_file_shared_2.so: two_file_test_2_pic.o
169         $(CXXLINK) -shared two_file_test_2_pic.o
170 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
171         $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
172
173 two_file_shared_1_nonpic.so: two_file_test_1.o
174         $(CXXLINK) -shared two_file_test_1.o
175 two_file_shared_2_nonpic.so: two_file_test_2.o
176         $(CXXLINK) -shared two_file_test_2.o
177 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
178         $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
179
180 endif
181 endif