Commit | Line | Data |
---|---|---|
5a6f7e2d ILT |
1 | # Process this file with automake to generate Makefile.in |
2 | ||
537b5f51 ILT |
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 | ||
5a6f7e2d ILT |
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 | ||
22dc1b09 ILT |
17 | if GCC |
18 | if NATIVE_LINKER | |
d5026652 | 19 | |
3bd52c28 ILT |
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 | ||
56ba9a23 ILT |
35 | NATIVE_TESTING = \ |
36 | basic_test \ | |
37 | basic_pic_test \ | |
38 | basic_static_test \ | |
d5026652 | 39 | basic_static_pic_test \ |
3bd52c28 | 40 | $(NATIVE_PROGS) |
d5026652 | 41 | |
22dc1b09 ILT |
42 | endif |
43 | endif | |
44 | ||
45 | TESTS = object_unittest $(NATIVE_TESTING) | |
5a6f7e2d ILT |
46 | |
47 | check_LIBRARIES = libgoldtest.a | |
48 | libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc | |
49 | ||
50 | LDADD = libgoldtest.a ../libgold.a | |
51 | ||
d5026652 | 52 | check_PROGRAMS = object_unittest $(NATIVE_PROGS) |
5a6f7e2d ILT |
53 | |
54 | object_unittest_SOURCES = object_unittest.cc | |
22dc1b09 ILT |
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 | |
56ba9a23 | 65 | basic_test.o: basic_test.cc |
22dc1b09 | 66 | $(CXXCOMPILE) -O0 -c -o $@ $< |
56ba9a23 ILT |
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 | |
22dc1b09 | 71 | |
56ba9a23 | 72 | basic_pic_test.o: basic_test.cc |
22dc1b09 | 73 | $(CXXCOMPILE) -O0 -c -fpic -o $@ $< |
56ba9a23 ILT |
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 | |
22dc1b09 | 78 | |
d5026652 ILT |
79 | constructor_test_SOURCES = constructor_test.cc |
80 | constructor_test_DEPENDENCIES = gcctestdir/ld | |
81 | constructor_test_LDFLAGS = -Bgcctestdir/ | |
82 | ||
cb615bc1 ILT |
83 | constructor_static_test_SOURCES = constructor_test.cc |
84 | constructor_static_test_DEPENDENCIES = gcctestdir/ld | |
85 | constructor_static_test_LDFLAGS = -Bgcctestdir/ -static | |
86 | ||
3bd52c28 ILT |
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 | ||
22dc1b09 ILT |
180 | endif |
181 | endif |