1include ../../make.inc
2
3#######################################################################
4#  This makefile creates the test programs for the linear equation
5#  routines in LAPACK.  The test files are grouped as follows:
6#
7#       ALINTST -- Auxiliary test routines
8#       SLINTST -- Single precision real test routines
9#       CLINTST -- Single precision complex test routines
10#       SCLNTST -- Single and Complex routines in common
11#       DLINTST -- Double precision real test routines
12#       ZLINTST -- Double precision complex test routines
13#       DZLNTST -- Double and Double Complex routines in common
14#
15#  Test programs can be generated for all or some of the four different
16#  precisions.  Enter make followed by one or more of the data types
17#  desired.  Some examples:
18#       make single
19#       make single complex
20#       make single double complex complex16
21#  Alternatively, the command
22#       make
23#  without any arguments creates all four test programs.
24#  The executable files are called
25#       xlintims, xlintimd, xlintimc, and xlintimz
26#  and are created in the next higher directory level.
27#
28#  To remove the object files after the executable files have been
29#  created, enter
30#       make clean
31#  On some systems, you can force the source files to be recompiled by
32#  entering (for example)
33#       make single FRC=FRC
34#
35#######################################################################
36
37ifneq ($(strip $(VARLIB)),)
38    LAPACKLIB :=  $(VARLIB) ../../$(LAPACKLIB)
39endif
40
41
42ALINTST = \
43   aladhd.o alaerh.o alaesm.o alahd.o alareq.o \
44   alasum.o alasvm.o chkxer.o icopy.o ilaenv.o xlaenv.o xerbla.o
45
46SCLNTST= slaord.o
47
48DZLNTST= dlaord.o
49
50SLINTST = schkaa.o \
51   schkeq.o schkgb.o schkge.o schkgt.o \
52   schklq.o schkpb.o schkpo.o schkps.o schkpp.o \
53   schkpt.o schkq3.o schkql.o schkqp.o schkqr.o schkrq.o \
54   schksp.o schksy.o schktb.o schktp.o schktr.o \
55   schktz.o \
56   sdrvgt.o sdrvls.o sdrvpb.o \
57   sdrvpp.o sdrvpt.o sdrvsp.o \
58   serrgt.o serrlq.o serrls.o \
59   serrps.o serrql.o serrqp.o serrqr.o \
60   serrrq.o serrtr.o serrtz.o \
61   sgbt01.o sgbt02.o sgbt05.o sgelqs.o sgeqls.o sgeqrs.o \
62   sgerqs.o sget01.o sget02.o \
63   sget03.o sget04.o sget06.o sget07.o sgtt01.o sgtt02.o \
64   sgtt05.o slaptm.o slarhs.o slatb4.o slatb5.o slattb.o slattp.o \
65   slattr.o slavsp.o slavsy.o slqt01.o slqt02.o \
66   slqt03.o spbt01.o spbt02.o spbt05.o spot01.o \
67   spot02.o spot03.o spot05.o spst01.o sppt01.o \
68   sppt02.o sppt03.o sppt05.o sptt01.o sptt02.o \
69   sptt05.o sqlt01.o sqlt02.o sqlt03.o sqpt01.o \
70   sqrt01.o sqrt01p.o sqrt02.o sqrt03.o sqrt11.o sqrt12.o \
71   sqrt13.o sqrt14.o sqrt15.o sqrt16.o sqrt17.o \
72   srqt01.o srqt02.o srqt03.o srzt01.o srzt02.o \
73   sspt01.o ssyt01.o \
74   stbt02.o stbt03.o stbt05.o stbt06.o stpt01.o \
75   stpt02.o stpt03.o stpt05.o stpt06.o strt01.o \
76   strt02.o strt03.o strt05.o strt06.o \
77   stzt01.o stzt02.o sgennd.o sqrt04.o sqrt05.o schkqrt.o serrqrt.o schkqrtp.o serrqrtp.o
78
79ifdef USEXBLAS
80SLINTST += serrvxx.o sdrvgex.o sdrvsyx.o serrgex.o sdrvgbx.o sdrvpox.o \
81	sebchvxx.o serrsyx.o serrpox.o
82else
83SLINTST += serrvx.o sdrvge.o sdrvsy.o serrge.o sdrvgb.o sdrvpo.o \
84	serrsy.o serrpo.o
85endif
86
87CLINTST = cchkaa.o \
88   cchkeq.o cchkgb.o cchkge.o cchkgt.o \
89   cchkhe.o cchkhp.o cchklq.o cchkpb.o \
90   cchkpo.o cchkps.o cchkpp.o cchkpt.o cchkq3.o cchkql.o cchkqp.o \
91   cchkqr.o cchkrq.o cchksp.o cchksy.o cchktb.o \
92   cchktp.o cchktr.o cchktz.o \
93   cdrvgt.o cdrvhp.o \
94   cdrvls.o cdrvpb.o cdrvpp.o cdrvpt.o \
95   cdrvsp.o  \
96   cerrgt.o cerrlq.o \
97   cerrls.o cerrps.o cerrql.o cerrqp.o \
98   cerrqr.o cerrrq.o cerrtr.o cerrtz.o \
99   cgbt01.o cgbt02.o cgbt05.o cgelqs.o cgeqls.o cgeqrs.o \
100   cgerqs.o cget01.o cget02.o \
101   cget03.o cget04.o cget07.o cgtt01.o cgtt02.o \
102   cgtt05.o chet01.o chpt01.o claipd.o claptm.o clarhs.o clatb4.o clatb5.o \
103   clatsp.o clatsy.o clattb.o clattp.o clattr.o \
104   clavhe.o clavhp.o clavsp.o clavsy.o clqt01.o \
105   clqt02.o clqt03.o cpbt01.o cpbt02.o cpbt05.o \
106   cpot01.o cpot02.o cpot03.o cpot05.o cpst01.o \
107   cppt01.o cppt02.o cppt03.o cppt05.o cptt01.o \
108   cptt02.o cptt05.o cqlt01.o cqlt02.o cqlt03.o \
109   cqpt01.o cqrt01.o cqrt01p.o cqrt02.o cqrt03.o cqrt11.o \
110   cqrt12.o cqrt13.o cqrt14.o cqrt15.o cqrt16.o \
111   cqrt17.o crqt01.o crqt02.o crqt03.o crzt01.o crzt02.o \
112   csbmv.o  cspt01.o \
113   cspt02.o cspt03.o csyt01.o csyt02.o csyt03.o \
114   ctbt02.o ctbt03.o ctbt05.o ctbt06.o ctpt01.o \
115   ctpt02.o ctpt03.o ctpt05.o ctpt06.o ctrt01.o \
116   ctrt02.o ctrt03.o ctrt05.o ctrt06.o \
117   ctzt01.o ctzt02.o sget06.o cgennd.o \
118   cqrt04.o cqrt05.o cchkqrt.o cerrqrt.o cchkqrtp.o cerrqrtp.o
119
120ifdef USEXBLAS
121CLINTST += cerrvxx.o cdrvgex.o cdrvsyx.o cdrvgbx.o cerrgex.o cdrvpox.o cdrvhex.o \
122	cerrpox.o cebchvxx.o cerrsyx.o cerrhex.o
123else
124CLINTST += cerrvx.o cdrvge.o cdrvsy.o cdrvgb.o cerrge.o cdrvpo.o cdrvhe.o \
125	cerrpo.o cerrsy.o cerrhe.o
126endif
127
128DLINTST = dchkaa.o \
129   dchkeq.o dchkgb.o dchkge.o dchkgt.o \
130   dchklq.o dchkpb.o dchkpo.o dchkps.o dchkpp.o \
131   dchkpt.o dchkq3.o dchkql.o dchkqp.o dchkqr.o dchkrq.o \
132   dchksp.o dchksy.o dchktb.o dchktp.o dchktr.o \
133   dchktz.o \
134   ddrvgt.o ddrvls.o ddrvpb.o \
135   ddrvpp.o ddrvpt.o ddrvsp.o \
136   derrgt.o derrlq.o derrls.o \
137   derrps.o derrql.o derrqp.o derrqr.o \
138   derrrq.o derrtr.o derrtz.o \
139   dgbt01.o dgbt02.o dgbt05.o dgelqs.o dgeqls.o dgeqrs.o \
140   dgerqs.o dget01.o dget02.o \
141   dget03.o dget04.o dget06.o dget07.o dgtt01.o dgtt02.o \
142   dgtt05.o dlaptm.o dlarhs.o dlatb4.o dlatb5.o dlattb.o dlattp.o \
143   dlattr.o dlavsp.o dlavsy.o dlqt01.o dlqt02.o \
144   dlqt03.o dpbt01.o dpbt02.o dpbt05.o dpot01.o \
145   dpot02.o dpot03.o dpot05.o dpst01.o dppt01.o \
146   dppt02.o dppt03.o dppt05.o dptt01.o dptt02.o \
147   dptt05.o dqlt01.o dqlt02.o dqlt03.o dqpt01.o \
148   dqrt01.o dqrt01p.o  dqrt02.o dqrt03.o dqrt11.o dqrt12.o \
149   dqrt13.o dqrt14.o dqrt15.o dqrt16.o dqrt17.o \
150   drqt01.o drqt02.o drqt03.o drzt01.o drzt02.o \
151   dspt01.o dsyt01.o \
152   dtbt02.o dtbt03.o dtbt05.o dtbt06.o dtpt01.o \
153   dtpt02.o dtpt03.o dtpt05.o dtpt06.o dtrt01.o \
154   dtrt02.o dtrt03.o dtrt05.o dtrt06.o \
155   dtzt01.o dtzt02.o dgennd.o \
156   dqrt04.o dqrt05.o dchkqrt.o derrqrt.o dchkqrtp.o derrqrtp.o
157
158ifdef USEXBLAS
159DLINTST += derrvxx.o ddrvgex.o ddrvsyx.o ddrvgbx.o derrgex.o ddrvpox.o derrpox.o \
160	debchvxx.o derrsyx.o
161else
162DLINTST += derrvx.o ddrvge.o ddrvsy.o ddrvgb.o derrge.o ddrvpo.o derrpo.o \
163	derrsy.o
164endif
165
166ZLINTST = zchkaa.o \
167   zchkeq.o zchkgb.o zchkge.o zchkgt.o \
168   zchkhe.o zchkhp.o zchklq.o zchkpb.o \
169   zchkpo.o zchkps.o zchkpp.o zchkpt.o zchkq3.o zchkql.o zchkqp.o \
170   zchkqr.o zchkrq.o zchksp.o zchksy.o zchktb.o \
171   zchktp.o zchktr.o zchktz.o \
172   zdrvgt.o zdrvhp.o \
173   zdrvls.o zdrvpb.o zdrvpp.o zdrvpt.o \
174   zdrvsp.o \
175   zerrgt.o zerrlq.o \
176   zerrls.o zerrps.o zerrql.o zerrqp.o \
177   zerrqr.o zerrrq.o zerrtr.o zerrtz.o \
178   zgbt01.o zgbt02.o zgbt05.o zgelqs.o zgeqls.o zgeqrs.o \
179   zgerqs.o zget01.o zget02.o \
180   zget03.o zget04.o zget07.o zgtt01.o zgtt02.o \
181   zgtt05.o zhet01.o zhpt01.o zlaipd.o zlaptm.o zlarhs.o zlatb4.o zlatb5.o \
182   zlatsp.o zlatsy.o zlattb.o zlattp.o zlattr.o \
183   zlavhe.o zlavhp.o zlavsp.o zlavsy.o zlqt01.o \
184   zlqt02.o zlqt03.o zpbt01.o zpbt02.o zpbt05.o \
185   zpot01.o zpot02.o zpot03.o zpot05.o zpst01.o \
186   zppt01.o zppt02.o zppt03.o zppt05.o zptt01.o \
187   zptt02.o zptt05.o zqlt01.o zqlt02.o zqlt03.o \
188   zqpt01.o zqrt01.o zqrt01p.o zqrt02.o zqrt03.o zqrt11.o \
189   zqrt12.o zqrt13.o zqrt14.o zqrt15.o zqrt16.o \
190   zqrt17.o zrqt01.o zrqt02.o zrqt03.o zrzt01.o zrzt02.o \
191   zsbmv.o  zspt01.o \
192   zspt02.o zspt03.o zsyt01.o zsyt02.o zsyt03.o \
193   ztbt02.o ztbt03.o ztbt05.o ztbt06.o ztpt01.o \
194   ztpt02.o ztpt03.o ztpt05.o ztpt06.o ztrt01.o \
195   ztrt02.o ztrt03.o ztrt05.o ztrt06.o \
196   ztzt01.o ztzt02.o dget06.o zgennd.o \
197   zqrt04.o zqrt05.o zchkqrt.o zerrqrt.o zchkqrtp.o zerrqrtp.o
198
199ifdef USEXBLAS
200ZLINTST += zerrvxx.o zdrvgex.o zdrvsyx.o zdrvgbx.o zerrgex.o zdrvpox.o zdrvhex.o \
201	zerrpox.o zebchvxx.o zerrsyx.o zerrhex.o
202else
203ZLINTST += zerrvx.o zdrvge.o zdrvsy.o zdrvgb.o zerrge.o zdrvpo.o zdrvhe.o \
204	zerrpo.o zerrsy.o zerrhe.o
205endif
206
207DSLINTST = dchkab.o \
208	ddrvab.o ddrvac.o derrab.o derrac.o dget08.o          \
209	alaerh.o alahd.o  aladhd.o alareq.o \
210	chkxer.o dlarhs.o dlatb4.o xerbla.o \
211	dget02.o dpot06.o
212
213ZCLINTST = zchkab.o \
214	zdrvab.o zdrvac.o zerrab.o zerrac.o zget08.o          \
215	alaerh.o alahd.o  aladhd.o alareq.o \
216	chkxer.o zget02.o zlarhs.o zlatb4.o \
217	zsbmv.o  xerbla.o zpot06.o zlaipd.o
218
219SLINTSTRFP = schkrfp.o sdrvrfp.o sdrvrf1.o sdrvrf2.o sdrvrf3.o sdrvrf4.o serrrfp.o \
220	slatb4.o slarhs.o sget04.o spot01.o spot03.o spot02.o \
221	chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
222
223DLINTSTRFP = dchkrfp.o ddrvrfp.o ddrvrf1.o ddrvrf2.o ddrvrf3.o ddrvrf4.o derrrfp.o \
224	dlatb4.o dlarhs.o dget04.o dpot01.o dpot03.o dpot02.o \
225	chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
226
227CLINTSTRFP = cchkrfp.o cdrvrfp.o cdrvrf1.o cdrvrf2.o cdrvrf3.o cdrvrf4.o cerrrfp.o \
228	claipd.o clatb4.o clarhs.o csbmv.o cget04.o cpot01.o cpot03.o cpot02.o \
229	chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
230
231ZLINTSTRFP = zchkrfp.o zdrvrfp.o zdrvrf1.o zdrvrf2.o zdrvrf3.o zdrvrf4.o zerrrfp.o \
232	zlatb4.o zlaipd.o zlarhs.o zsbmv.o zget04.o zpot01.o zpot03.o zpot02.o \
233	chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
234
235all:  single double complex complex16 proto-single proto-double proto-complex proto-complex16
236
237single: ../xlintsts
238double: ../xlintstd
239complex: ../xlintstc
240complex16: ../xlintstz
241
242proto-single: ../xlintstrfs
243proto-double: ../xlintstds ../xlintstrfd
244proto-complex: ../xlintstrfc
245proto-complex16: ../xlintstzc ../xlintstrfz
246
247xlintsts : $(ALINTST) $(SLINTST) $(SCLNTST) ../../$(LAPACKLIB)
248	$(LOADER) $(LOADOPTS)  $(ALINTST) $(SCLNTST) $(SLINTST) \
249        ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB)  $(BLASLIB) -o $@
250
251xlintstc : $(ALINTST) $(CLINTST) $(SCLNTST) ../../$(LAPACKLIB)
252	$(LOADER) $(LOADOPTS)  $(ALINTST) $(SCLNTST) $(CLINTST) \
253        ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB)  $(BLASLIB) -o $@
254
255xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST) ../../$(LAPACKLIB)
256	$(LOADER) $(LOADOPTS) $^ \
257        ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@
258
259xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST) ../../$(LAPACKLIB)
260	$(LOADER) $(LOADOPTS)  $(ALINTST) $(DZLNTST) $(ZLINTST) \
261        ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB)  $(BLASLIB) -o $@
262
263xlintstds : $(DSLINTST) ../../$(LAPACKLIB)
264	$(LOADER) $(LOADOPTS)  $(DSLINTST) \
265        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
266
267xlintstzc : $(ZCLINTST) ../../$(LAPACKLIB)
268	$(LOADER) $(LOADOPTS)  $(ZCLINTST) \
269        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
270
271xlintstrfs : $(SLINTSTRFP) ../../$(LAPACKLIB)
272	$(LOADER) $(LOADOPTS)  $(SLINTSTRFP) \
273        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
274
275xlintstrfd : $(DLINTSTRFP) ../../$(LAPACKLIB)
276	$(LOADER) $(LOADOPTS)  $(DLINTSTRFP) \
277        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
278
279xlintstrfc : $(CLINTSTRFP) ../../$(LAPACKLIB)
280	$(LOADER) $(LOADOPTS)  $(CLINTSTRFP) \
281        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
282
283xlintstrfz : $(ZLINTSTRFP) ../../$(LAPACKLIB)
284	$(LOADER) $(LOADOPTS)  $(ZLINTSTRFP) \
285        ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
286
287../xlintsts: xlintsts
288	mv xlintsts $@
289
290../xlintstc: xlintstc
291	mv xlintstc $@
292
293../xlintstz: xlintstz
294	mv xlintstz $@
295
296../xlintstd: xlintstd
297	mv xlintstd $@
298
299../xlintstds: xlintstds
300	mv xlintstds $@
301
302../xlintstzc: xlintstzc
303	mv xlintstzc $@
304
305../xlintstrfs: xlintstrfs
306	mv xlintstrfs $@
307
308../xlintstrfc: xlintstrfc
309	mv xlintstrfc $@
310
311../xlintstrfd: xlintstrfd
312	mv xlintstrfd $@
313
314../xlintstrfz: xlintstrfz
315	mv xlintstrfz $@
316
317$(ALINTST): $(FRC)
318$(SCLNTST): $(FRC)
319$(DZLNTST): $(FRC)
320$(SLINTST): $(FRC)
321$(CLINTST): $(FRC)
322$(DLINTST): $(FRC)
323$(ZLINTST): $(FRC)
324
325FRC:
326	@FRC=$(FRC)
327
328clean:
329	rm -f *.o
330
331schkaa.o: schkaa.f
332	$(FORTRAN) $(DRVOPTS) -c $< -o $@
333dchkaa.o: dchkaa.f
334	$(FORTRAN) $(DRVOPTS) -c $< -o $@
335cchkaa.o: cchkaa.f
336	$(FORTRAN) $(DRVOPTS) -c $< -o $@
337zchkaa.o: zchkaa.f
338	$(FORTRAN) $(DRVOPTS) -c $< -o $@
339
340.f.o:
341	$(FORTRAN) $(OPTS) -c $< -o $@
342