Commit | Line | Data |
---|---|---|
4a71579b | 1 | # |
79bfeef6 | 2 | # Copyright 2012-2023 Free Software Foundation, Inc. |
4a71579b PC |
3 | # |
4 | # This file is part of GNU lightning. | |
5 | # | |
6 | # GNU lightning is free software; you can redistribute it and/or modify it | |
7 | # under the terms of the GNU Lesser General Public License as published | |
8 | # by the Free Software Foundation; either version 3, or (at your option) | |
9 | # any later version. | |
10 | # | |
11 | # GNU lightning is distributed in the hope that it will be useful, but | |
12 | # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
13 | # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
14 | # License for more details. | |
15 | # | |
16 | ||
79bfeef6 PC |
17 | AM_CFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include \ |
18 | -D_GNU_SOURCE $(LIGHTNING_CFLAGS) | |
4a71579b | 19 | |
ba3814c1 | 20 | check_PROGRAMS = lightning ccall self setcode nodata ctramp carg cva_list \ |
79bfeef6 | 21 | catomic protect riprel |
4a71579b PC |
22 | |
23 | lightning_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
24 | lightning_SOURCES = lightning.c | |
25 | ||
26 | ccall_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
27 | ccall_SOURCES = ccall.c | |
28 | ||
29 | self_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
30 | self_SOURCES = self.c | |
31 | ||
32 | setcode_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
33 | setcode_SOURCES = setcode.c | |
34 | ||
35 | nodata_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
36 | nodata_SOURCES = nodata.c | |
37 | ||
38 | ctramp_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
39 | ctramp_SOURCES = ctramp.c | |
40 | ||
41 | carg_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
42 | carg_SOURCES = carg.c | |
43 | ||
44 | cva_list_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
45 | cva_list_SOURCES = cva_list.c | |
46 | ||
ba3814c1 PC |
47 | catomic_LDADD = $(top_builddir)/lib/liblightning.la -lm -lpthread $(SHLIB) |
48 | catomic_SOURCES = catomic.c | |
49 | ||
79bfeef6 PC |
50 | protect_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) |
51 | protect_SOURCES = protect.c | |
52 | ||
53 | riprel_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB) | |
54 | riprel_SOURCES = riprel.c | |
55 | ||
4a71579b PC |
56 | $(top_builddir)/lib/liblightning.la: |
57 | cd $(top_builddir)/lib; $(MAKE) $(AM_MAKEFLAGS) liblightning.la | |
58 | ||
59 | EXTRA_DIST = \ | |
60 | 3to2.tst 3to2.ok \ | |
61 | add.tst add.ok \ | |
62 | align.tst align.ok \ | |
63 | allocai.tst allocai.ok \ | |
64 | allocar.tst allocar.ok \ | |
65 | bp.tst bp.ok \ | |
66 | divi.tst divi.ok \ | |
67 | fib.tst fib.ok \ | |
68 | rpn.tst rpn.ok \ | |
69 | ldst.inc \ | |
70 | ldstr.tst ldstr.ok \ | |
71 | ldsti.tst ldsti.ok \ | |
72 | ldstxr.tst ldstxr.ok \ | |
73 | ldstxi.tst ldstxi.ok \ | |
74 | ldstr-c.tst ldstr-c.ok \ | |
75 | ldstxr-c.tst ldstxr-c.ok \ | |
76 | ldstxi-c.tst ldstxi-c.ok \ | |
77 | cvt.tst cvt.ok \ | |
78 | hton.tst hton.ok \ | |
40a44dcb | 79 | bswap.tst bswap.ok \ |
4a71579b PC |
80 | branch.tst branch.ok \ |
81 | alu.inc \ | |
82 | alu_add.tst alu_add.ok \ | |
83 | alux_add.tst alux_add.ok \ | |
84 | alu_sub.tst alu_sub.ok \ | |
85 | alux_sub.tst alux_sub.ok \ | |
86 | alu_rsb.tst alu_rsb.ok \ | |
87 | alu_mul.tst alu_mul.ok \ | |
88 | alu_div.tst alu_div.ok \ | |
89 | alu_rem.tst alu_rem.ok \ | |
90 | alu_and.tst alu_and.ok \ | |
91 | alu_or.tst alu_or.ok \ | |
92 | alu_xor.tst alu_xor.ok \ | |
93 | alu_lsh.tst alu_lsh.ok \ | |
94 | alu_rsh.tst alu_rsh.ok \ | |
95 | alu_com.tst alu_com.ok \ | |
96 | alu_neg.tst alu_neg.ok \ | |
e0659411 | 97 | movzr.tst movzr.ok \ |
4a71579b PC |
98 | fop_abs.tst fop_abs.ok \ |
99 | fop_sqrt.tst fop_sqrt.ok \ | |
100 | varargs.tst varargs.ok \ | |
101 | stack.tst stack.ok \ | |
102 | clobber.tst clobber.ok \ | |
103 | carry.tst carry.ok \ | |
104 | call.tst call.ok \ | |
105 | float.tst float.ok \ | |
106 | jmpr.tst jmpr.ok \ | |
519a9ea1 | 107 | live.tst live.ok \ |
4a71579b PC |
108 | put.tst put.ok \ |
109 | qalu.inc \ | |
110 | qalu_mul.tst qalu_mul.ok \ | |
111 | qalu_div.tst qalu_div.ok \ | |
112 | range.tst range.ok \ | |
113 | ranger.tst ranger.ok \ | |
114 | ret.tst ret.ok \ | |
79bfeef6 | 115 | skip.tst skip.ok \ |
4a71579b PC |
116 | tramp.tst tramp.ok \ |
117 | va_list.tst va_list.ok \ | |
79bfeef6 | 118 | bit.tst bit.ok \ |
4a71579b PC |
119 | check.sh \ |
120 | check.x87.sh \ | |
121 | check.arm.sh check.swf.sh \ | |
122 | check.arm.swf.sh \ | |
123 | check.arm4.swf.sh \ | |
124 | check.nodata.sh \ | |
125 | check.x87.nodata.sh \ | |
79bfeef6 PC |
126 | run-test all.tst \ |
127 | collatz.tst factorial.tst | |
4a71579b PC |
128 | |
129 | base_TESTS = \ | |
130 | 3to2 add align allocai \ | |
131 | allocar bp divi fib rpn \ | |
132 | ldstr ldsti \ | |
133 | ldstxr ldstxi \ | |
134 | ldstr-c ldstxr-c ldstxi-c \ | |
40a44dcb | 135 | cvt hton bswap branch \ |
4a71579b PC |
136 | alu_add alux_add \ |
137 | alu_sub alux_sub alu_rsb \ | |
138 | alu_mul alu_div alu_rem \ | |
139 | alu_and alu_or alu_xor \ | |
140 | alu_lsh alu_rsh \ | |
141 | alu_com alu_neg \ | |
e0659411 | 142 | movzr \ |
4a71579b PC |
143 | fop_abs fop_sqrt \ |
144 | varargs stack \ | |
145 | clobber carry call \ | |
519a9ea1 | 146 | float jmpr live put \ |
4a71579b | 147 | qalu_mul qalu_div \ |
79bfeef6 PC |
148 | range ranger ret skip tramp \ |
149 | va_list bit | |
4a71579b PC |
150 | |
151 | $(base_TESTS): check.sh | |
152 | $(LN_S) $(srcdir)/check.sh $@ | |
153 | ||
154 | TESTS = $(base_TESTS) | |
155 | ||
156 | if test_x86_x87 | |
157 | #x87_TESTS = $(addsuffix .x87, $(base_TESTS)) | |
158 | x87_TESTS = \ | |
159 | 3to2.x87 add.x87 allocai.x87 \ | |
160 | allocar.x87 bp.x87 divi.x87 fib.x87 \ | |
161 | rpn.x87 ldstr.x87 ldsti.x87 \ | |
162 | ldstxr.x87 ldstxi.x87 \ | |
163 | ldstr-c.x87 ldstxr-c.x87 ldstxi-c.x87 \ | |
164 | cvt.x87 branch.x87 \ | |
165 | alu_add.x87 alux_add.x87 \ | |
166 | alu_sub.x87 alux_sub.x87 alu_rsb.x87 \ | |
167 | alu_mul.x87 alu_div.x87 alu_rem.x87 \ | |
168 | alu_and.x87 alu_or.x87 alu_xor.x87 \ | |
169 | alu_lsh.x87 alu_rsh.x87 \ | |
170 | alu_com.x87 alu_neg.x87 \ | |
e0659411 | 171 | movzr.x87 \ |
4a71579b PC |
172 | fop_abs.x87 fop_sqrt.x87 \ |
173 | varargs.x87 stack.x87 \ | |
174 | clobber.x87 carry.x87 call.x87 \ | |
175 | float.x87 jmpr.x87 put.x87 \ | |
176 | va_list.x87 | |
177 | $(x87_TESTS): check.x87.sh | |
178 | $(LN_S) $(srcdir)/check.x87.sh $@ | |
179 | TESTS += $(x87_TESTS) | |
180 | ||
181 | #x87_nodata_TESTS = $(addsuffix .x87.nodata, $(base_TESTS)) | |
182 | x87_nodata_TESTS = \ | |
183 | 3to2.x87.nodata add.x87.nodata allocai.x87.nodata \ | |
184 | allocar.x87.nodata bp.x87.nodata divi.x87.nodata fib.x87.nodata \ | |
185 | rpn.x87.nodata ldstr.x87.nodata ldsti.x87.nodata \ | |
186 | ldstxr.x87.nodata ldstxi.x87.nodata \ | |
187 | ldstr-c.x87.nodata ldstxr-c.x87.nodata ldstxi-c.x87.nodata \ | |
188 | cvt.x87.nodata branch.x87.nodata \ | |
189 | alu_add.x87.nodata alux_add.x87.nodata \ | |
190 | alu_sub.x87.nodata alux_sub.x87.nodata alu_rsb.x87.nodata \ | |
191 | alu_mul.x87.nodata alu_div.x87.nodata alu_rem.x87.nodata \ | |
192 | alu_and.x87.nodata alu_or.x87.nodata alu_xor.x87.nodata \ | |
193 | alu_lsh.x87.nodata alu_rsh.x87.nodata \ | |
194 | alu_com.x87.nodata alu_neg.x87.nodata \ | |
e0659411 | 195 | movzr.x87.nodata \ |
4a71579b PC |
196 | fop_abs.x87.nodata fop_sqrt.x87.nodata \ |
197 | varargs.x87.nodata stack.x87.nodata \ | |
198 | clobber.x87.nodata carry.x87.nodata call.x87.nodata \ | |
199 | float.x87.nodata jmpr.x87.nodata put.x87.nodata \ | |
200 | va_list.x87.nodata | |
201 | $(x87_nodata_TESTS): check.x87.nodata.sh | |
202 | $(LN_S) $(srcdir)/check.x87.nodata.sh $@ | |
203 | TESTS += $(x87_nodata_TESTS) | |
204 | endif | |
205 | ||
206 | if test_arm_arm | |
207 | #arm_TESTS = $(addsuffix .arm, $(base_TESTS)) | |
208 | arm_TESTS = \ | |
209 | 3to2.arm add.arm align.arm allocai.arm \ | |
210 | allocar.arm bp.arm divi.arm fib.arm \ | |
211 | rpn.arm ldstr.arm ldsti.arm \ | |
212 | ldstxr.arm ldstxi.arm \ | |
213 | ldstr-c.arm ldstxr-c.arm ldstxi-c.arm \ | |
40a44dcb | 214 | cvt.arm hton.arm bswap.arm branch.arm \ |
4a71579b PC |
215 | alu_add.arm alux_add.arm \ |
216 | alu_sub.arm alux_sub.arm alu_rsb.arm \ | |
217 | alu_mul.arm alu_div.arm alu_rem.arm \ | |
218 | alu_and.arm alu_or.arm alu_xor.arm \ | |
219 | alu_lsh.arm alu_rsh.arm \ | |
220 | alu_com.arm alu_neg.arm \ | |
e0659411 | 221 | movzr.arm \ |
4a71579b PC |
222 | fop_abs.arm fop_sqrt.arm \ |
223 | varargs.arm stack.arm \ | |
224 | clobber.arm carry.arm call.arm \ | |
225 | float.arm jmpr.arm tramp.arm range.arm \ | |
226 | ranger.arm put.arm va_list.arm | |
227 | $(arm_TESTS): check.arm.sh | |
228 | $(LN_S) $(srcdir)/check.arm.sh $@ | |
229 | TESTS += $(arm_TESTS) | |
230 | endif | |
231 | ||
232 | if test_arm_swf | |
233 | #swf_TESTS = $(addsuffix .swf, $(base_TESTS)) | |
234 | swf_TESTS = \ | |
235 | 3to2.swf add.swf allocai.swf \ | |
236 | allocar.swf bp.swf divi.swf fib.swf \ | |
237 | rpn.swf ldstr.swf ldsti.swf \ | |
238 | ldstxr.swf ldstxi.swf \ | |
239 | ldstr-c.swf ldstxr-c.swf ldstxi-c.swf \ | |
40a44dcb | 240 | cvt.swf hton.swf bswap.swf branch.swf \ |
4a71579b PC |
241 | alu_add.swf alux_add.swf \ |
242 | alu_sub.swf alux_sub.swf alu_rsb.swf \ | |
243 | alu_mul.swf alu_div.swf alu_rem.swf \ | |
244 | alu_and.swf alu_or.swf alu_xor.swf \ | |
245 | alu_lsh.swf alu_rsh.swf \ | |
246 | alu_com.swf alu_neg.swf \ | |
e0659411 | 247 | movzr.swf \ |
4a71579b PC |
248 | fop_abs.swf fop_sqrt.swf \ |
249 | varargs.swf stack.swf \ | |
250 | clobber.swf carry.swf call.swf \ | |
251 | float.swf jmpr.swf tramp.swf range.swf \ | |
252 | ranger.swf put.swf va_list.swf | |
253 | $(swf_TESTS): check.swf.sh | |
254 | $(LN_S) $(srcdir)/check.swf.sh $@ | |
255 | TESTS += $(swf_TESTS) | |
256 | if test_arm_arm | |
257 | #arm_swf_TESTS = $(addsuffix .arm.swf, $(base_TESTS)) | |
258 | arm_swf_TESTS = \ | |
259 | 3to2.arm.swf add.arm.swf allocai.arm.swf \ | |
260 | allocar.arm.swf bp.arm.swf divi.arm.swf fib.arm.swf \ | |
261 | rpn.arm.swf ldstr.arm.swf ldsti.arm.swf \ | |
262 | ldstxr.arm.swf ldstxi.arm.swf \ | |
263 | ldstr-c.arm.swf ldstxr-c.arm.swf ldstxi-c.arm.swf \ | |
40a44dcb | 264 | cvt.arm.swf hton.arm.swf bswap.arm.swf branch.arm.swf \ |
4a71579b PC |
265 | alu_add.arm.swf alux_add.arm.swf \ |
266 | alu_sub.arm.swf alux_sub.arm.swf alu_rsb.arm.swf \ | |
267 | alu_mul.arm.swf alu_div.arm.swf alu_rem.arm.swf \ | |
268 | alu_and.arm.swf alu_or.arm.swf alu_xor.arm.swf \ | |
269 | alu_lsh.arm.swf alu_rsh.arm.swf \ | |
270 | alu_com.arm.swf alu_neg.arm.swf \ | |
e0659411 | 271 | movzr.arm.swf \ |
4a71579b PC |
272 | fop_abs.arm.swf fop_sqrt.arm.swf \ |
273 | varargs.arm.swf stack.arm.swf \ | |
274 | clobber.arm.swf carry.arm.swf call.arm.swf \ | |
275 | float.arm.swf jmpr.arm.swf tramp.arm.swf range.arm.swf \ | |
276 | ranger.arm.swf put.arm.swf va_list.arm.swf | |
277 | $(arm_swf_TESTS): check.arm.swf.sh | |
278 | $(LN_S) $(srcdir)/check.arm.swf.sh $@ | |
279 | TESTS += $(arm_swf_TESTS) | |
280 | endif | |
281 | if test_arm_arm | |
282 | #arm4_swf_TESTS = $(addsuffix .arm4.swf, $(base_TESTS)) | |
283 | arm4_swf_TESTS = \ | |
284 | 3to2.arm4.swf add.arm4.swf allocai.arm4.swf \ | |
285 | allocar.arm4.swf bp.arm4.swf divi.arm4.swf fib.arm4.swf \ | |
286 | rpn.arm4.swf ldstr.arm4.swf ldsti.arm4.swf \ | |
287 | ldstxr.arm4.swf ldstxi.arm4.swf \ | |
288 | ldstr-c.arm4.swf ldstxr-c.arm4.swf ldstxi-c.arm4.swf \ | |
40a44dcb PC |
289 | cvt.arm4.swf hton.arm4.swf bswap.arm4.swf \ |
290 | branch.arm4.swf alu_add.arm4.swf alux_add.arm4.swf \ | |
4a71579b PC |
291 | alu_sub.arm4.swf alux_sub.arm4.swf alu_rsb.arm4.swf \ |
292 | alu_mul.arm4.swf alu_div.arm4.swf alu_rem.arm4.swf \ | |
293 | alu_and.arm4.swf alu_or.arm4.swf alu_xor.arm4.swf \ | |
294 | alu_lsh.arm4.swf alu_rsh.arm4.swf \ | |
295 | alu_com.arm4.swf alu_neg.arm4.swf \ | |
e0659411 | 296 | movzr.arm4.swf \ |
4a71579b PC |
297 | fop_abs.arm4.swf fop_sqrt.arm4.swf \ |
298 | varargs.arm4.swf stack.arm4.swf \ | |
299 | clobber.arm4.swf carry.arm4.swf call.arm4.swf \ | |
300 | float.arm4.swf jmpr.arm4.swf tramp.arm4.swf \ | |
301 | range.arm4.swf ranger.arm4.swf put.arm4.swf \ | |
302 | va_list.arm4.swf | |
303 | $(arm4_swf_TESTS): check.arm4.swf.sh | |
304 | $(LN_S) $(srcdir)/check.arm4.swf.sh $@ | |
305 | TESTS += $(arm4_swf_TESTS) | |
306 | endif | |
307 | endif | |
308 | ||
309 | if test_nodata | |
310 | #nodata_TESTS = $(addsuffix .nodata, $(base_TESTS)) | |
311 | nodata_TESTS = \ | |
312 | 3to2.nodata add.nodata allocai.nodata \ | |
313 | allocar.nodata bp.nodata divi.nodata fib.nodata \ | |
314 | rpn.nodata ldstr.nodata ldsti.nodata \ | |
315 | ldstxr.nodata ldstxi.nodata \ | |
316 | ldstr-c.nodata ldstxr-c.nodata ldstxi-c.nodata \ | |
317 | cvt.nodata branch.nodata \ | |
318 | alu_add.nodata alux_add.nodata \ | |
319 | alu_sub.nodata alux_sub.nodata alu_rsb.nodata \ | |
320 | alu_mul.nodata alu_div.nodata alu_rem.nodata \ | |
321 | alu_and.nodata alu_or.nodata alu_xor.nodata \ | |
322 | alu_lsh.nodata alu_rsh.nodata \ | |
323 | alu_com.nodata alu_neg.nodata \ | |
e0659411 | 324 | movzr.nodata \ |
4a71579b PC |
325 | fop_abs.nodata fop_sqrt.nodata \ |
326 | varargs.nodata stack.nodata \ | |
327 | clobber.nodata carry.nodata call.nodata \ | |
328 | float.nodata jmpr.nodata tramp.nodata \ | |
329 | range.nodata ranger.nodata put.nodata \ | |
79bfeef6 | 330 | va_list.nodata bit.nodata |
4a71579b PC |
331 | $(nodata_TESTS): check.nodata.sh |
332 | $(LN_S) $(srcdir)/check.nodata.sh $@ | |
333 | TESTS += $(nodata_TESTS) | |
334 | endif | |
335 | ||
79bfeef6 PC |
336 | TESTS += ccall self setcode nodata ctramp carg cva_list catomic \ |
337 | protect riprel | |
4a71579b PC |
338 | CLEANFILES = $(TESTS) |
339 | ||
340 | #TESTS_ENVIRONMENT=$(srcdir)/run-test; | |
341 | ||
342 | debug: lightning | |
343 | $(LIBTOOL) --mode=execute gdb lightning |