Merge pull request #718 from pcercuei/update-lightrec-20230224
[pcsx_rearmed.git] / deps / lightning / check / Makefile.am
1 #
2 # Copyright 2012-2023 Free Software Foundation, Inc.
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
17 AM_CFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include \
18         -D_GNU_SOURCE $(LIGHTNING_CFLAGS)
19
20 check_PROGRAMS = lightning ccall self setcode nodata ctramp carg cva_list \
21         catomic protect riprel
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
47 catomic_LDADD = $(top_builddir)/lib/liblightning.la -lm -lpthread $(SHLIB)
48 catomic_SOURCES = catomic.c
49
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
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         \
79         bswap.tst       bswap.ok        \
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      \
97         movzr.tst       movzr.ok        \
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         \
107         live.tst        live.ok         \
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          \
115         skip.tst        skip.ok         \
116         tramp.tst       tramp.ok        \
117         va_list.tst     va_list.ok      \
118         bit.tst         bit.ok          \
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             \
126         run-test        all.tst         \
127         collatz.tst     factorial.tst
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       \
135         cvt hton bswap branch           \
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                 \
142         movzr                           \
143         fop_abs fop_sqrt                \
144         varargs stack                   \
145         clobber carry call              \
146         float jmpr live put             \
147         qalu_mul qalu_div               \
148         range ranger ret skip tramp     \
149         va_list bit
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                 \
171         movzr.x87                               \
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                           \
195         movzr.x87.nodata                                                \
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   \
214         cvt.arm hton.arm bswap.arm branch.arm   \
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                 \
221         movzr.arm                               \
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   \
240         cvt.swf hton.swf bswap.swf branch.swf   \
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                 \
247         movzr.swf                               \
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       \
264         cvt.arm.swf hton.arm.swf bswap.arm.swf branch.arm.swf   \
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                         \
271         movzr.arm.swf                                           \
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    \
289         cvt.arm4.swf hton.arm4.swf bswap.arm4.swf               \
290         branch.arm4.swf alu_add.arm4.swf alux_add.arm4.swf      \
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                       \
296         movzr.arm4.swf                                          \
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                   \
324         movzr.nodata                                    \
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           \
330         va_list.nodata bit.nodata
331 $(nodata_TESTS):        check.nodata.sh
332         $(LN_S) $(srcdir)/check.nodata.sh $@
333 TESTS += $(nodata_TESTS)
334 endif
335
336 TESTS += ccall self setcode nodata ctramp carg cva_list catomic \
337          protect riprel
338 CLEANFILES = $(TESTS)
339
340 #TESTS_ENVIRONMENT=$(srcdir)/run-test;
341
342 debug:          lightning
343         $(LIBTOOL) --mode=execute gdb lightning