1# Top-level makefile for XBLAS.
2#
3# To generate all sources, libraries, and test results, just type make
4#
5# To generate just the sources, type make sources
6#
7# To generate the sources and the library, type make lib
8#
9# To generate the test sources, type make test-sources
10#
11# To generate all the sources, the library, and the test library, type make test-lib
12#
13# To clean out all the object files, type make clean
14#
15# To clean out all the object files and source files, type make source-clean
16#
17include make.conf
18include $(MAKEINC)
19
20LIB = dot-lib sum-lib axpby-lib waxpby-lib gemv-lib ge_sum_mv-lib gbmv-lib symv-lib spmv-lib sbmv-lib hemv-lib hpmv-lib hbmv-lib trmv-lib tpmv-lib trsv-lib tbsv-lib gemm-lib symm-lib hemm-lib gemv2-lib symv2-lib hemv2-lib gbmv2-lib
21SOURCES = dot-source sum-source axpby-source waxpby-source gemv-source ge_sum_mv-source gbmv-source symv-source spmv-source sbmv-source hemv-source hpmv-source hbmv-source trmv-source tpmv-source trsv-source tbsv-source gemm-source symm-source hemm-source gemv2-source symv2-source hemv2-source gbmv2-source
22TESTS = dot-test sum-test axpby-test waxpby-test gemv-test ge_sum_mv-test gbmv-test symv-test spmv-test sbmv-test hemv-test hpmv-test hbmv-test trmv-test tpmv-test trsv-test tbsv-test gemm-test symm-test hemm-test gemv2-test symv2-test hemv2-test gbmv2-test
23TEST_SOURCES = dot-test-source sum-test-source axpby-test-source waxpby-test-source gemv-test-source ge_sum_mv-test-source gbmv-test-source symv-test-source spmv-test-source sbmv-test-source hemv-test-source hpmv-test-source hbmv-test-source trmv-test-source tpmv-test-source trsv-test-source tbsv-test-source gemm-test-source symm-test-source hemm-test-source gemv2-test-source symv2-test-source hemv2-test-source gbmv2-test-source dot2-test-source
24TEST_LIB = dot-test-lib sum-test-lib axpby-test-lib waxpby-test-lib gemv-test-lib ge_sum_mv-test-lib gbmv-test-lib symv-test-lib spmv-test-lib sbmv-test-lib hemv-test-lib hpmv-test-lib hbmv-test-lib trmv-test-lib tpmv-test-lib trsv-test-lib tbsv-test-lib gemm-test-lib symm-test-lib hemm-test-lib gemv2-test-lib symv2-test-lib hemv2-test-lib gbmv2-test-lib
25CLEAN = dot-clean sum-clean axpby-clean waxpby-clean gemv-clean ge_sum_mv-clean gbmv-clean symv-clean spmv-clean sbmv-clean hemv-clean hpmv-clean hbmv-clean trmv-clean tpmv-clean trsv-clean tbsv-clean gemm-clean symm-clean hemm-clean gemv2-clean symv2-clean hemv2-clean gbmv2-clean dot2-clean
26SOURCE_CLEAN = dot-source-clean sum-source-clean axpby-source-clean waxpby-source-clean gemv-source-clean ge_sum_mv-source-clean gbmv-source-clean symv-source-clean spmv-source-clean sbmv-source-clean hemv-source-clean hpmv-source-clean hbmv-source-clean trmv-source-clean tpmv-source-clean trsv-source-clean tbsv-source-clean gemm-source-clean symm-source-clean hemm-source-clean gemv2-source-clean symv2-source-clean hemv2-source-clean gbmv2-source-clean dot2-source-clean
27
28SRC_DIR = src
29M4_DIR = m4
30TEST_DIR = testing
31
32all: tests
33
34sources: $(SOURCES) header
35
36header:
37	$(MAKE) -C m4 header
38
39test-sources: $(TEST_SOURCES)
40
41$(TEST_LIB): lib
42
43test-lib: test-sources lib $(TEST_LIB)
44
45$(TESTS): test-lib
46
47tests: test-lib $(TESTS)
48	rm -f testall.result testall.summary
49	cat $(TEST_DIR)/test-dot/dot.results >> testall.result
50	cat $(TEST_DIR)/test-sum/sum.results >> testall.result
51	cat $(TEST_DIR)/test-axpby/axpby.results >> testall.result
52	cat $(TEST_DIR)/test-waxpby/waxpby.results >> testall.result
53	cat $(TEST_DIR)/test-gemv/gemv.results >> testall.result
54	cat $(TEST_DIR)/test-ge_sum_mv/ge_sum_mv.results >> testall.result
55	cat $(TEST_DIR)/test-gbmv/gbmv.results >> testall.result
56	cat $(TEST_DIR)/test-symv/symv.results >> testall.result
57	cat $(TEST_DIR)/test-spmv/spmv.results >> testall.result
58	cat $(TEST_DIR)/test-sbmv/sbmv.results >> testall.result
59	cat $(TEST_DIR)/test-hemv/hemv.results >> testall.result
60	cat $(TEST_DIR)/test-hpmv/hpmv.results >> testall.result
61	cat $(TEST_DIR)/test-hbmv/hbmv.results >> testall.result
62	cat $(TEST_DIR)/test-trmv/trmv.results >> testall.result
63	cat $(TEST_DIR)/test-tpmv/tpmv.results >> testall.result
64	cat $(TEST_DIR)/test-trsv/trsv.results >> testall.result
65	cat $(TEST_DIR)/test-tbsv/tbsv.results >> testall.result
66	cat $(TEST_DIR)/test-gemm/gemm.results >> testall.result
67	cat $(TEST_DIR)/test-symm/symm.results >> testall.result
68	cat $(TEST_DIR)/test-hemm/hemm.results >> testall.result
69	cat $(TEST_DIR)/test-gemv2/gemv2.results >> testall.result
70	cat $(TEST_DIR)/test-symv2/symv2.results >> testall.result
71	cat $(TEST_DIR)/test-hemv2/hemv2.results >> testall.result
72	cat $(TEST_DIR)/test-gbmv2/gbmv2.results >> testall.result
73	grep 'FAIL/TOTAL' testall.result >testall.summary
74	cat testall.summary
75
76common-lib:
77	$(MAKE) -C $(SRC_DIR)/common
78
79common-test-lib:
80	$(MAKE) -C $(TEST_DIR)/common
81
82
83makefiles: Makefile m4/Makefile src/Makefile
84	$(MAKE) -C m4 makefiles
85	$(MAKE) -C src makefiles
86
87src/Makefile: src/Makefile.m4
88	cd src && $(M4) $(M4_OPTS) Makefile.m4 >Makefile
89
90m4/Makefile: m4/Makefile.m4
91	cd m4 && $(M4) $(M4_OPTS) Makefile.m4 >Makefile
92lib: sources $(LIB)
93	$(MAKE) -C $(SRC_DIR)/common lib
94	$(MAKE) -C $(SRC_DIR)/dot lib
95	$(MAKE) -C $(SRC_DIR)/sum lib
96	$(MAKE) -C $(SRC_DIR)/axpby lib
97	$(MAKE) -C $(SRC_DIR)/waxpby lib
98	$(MAKE) -C $(SRC_DIR)/gemv lib
99	$(MAKE) -C $(SRC_DIR)/ge_sum_mv lib
100	$(MAKE) -C $(SRC_DIR)/gbmv lib
101	$(MAKE) -C $(SRC_DIR)/symv lib
102	$(MAKE) -C $(SRC_DIR)/spmv lib
103	$(MAKE) -C $(SRC_DIR)/sbmv lib
104	$(MAKE) -C $(SRC_DIR)/hemv lib
105	$(MAKE) -C $(SRC_DIR)/hpmv lib
106	$(MAKE) -C $(SRC_DIR)/hbmv lib
107	$(MAKE) -C $(SRC_DIR)/trmv lib
108	$(MAKE) -C $(SRC_DIR)/tpmv lib
109	$(MAKE) -C $(SRC_DIR)/trsv lib
110	$(MAKE) -C $(SRC_DIR)/tbsv lib
111	$(MAKE) -C $(SRC_DIR)/gemm lib
112	$(MAKE) -C $(SRC_DIR)/symm lib
113	$(MAKE) -C $(SRC_DIR)/hemm lib
114	$(MAKE) -C $(SRC_DIR)/gemv2 lib
115	$(MAKE) -C $(SRC_DIR)/symv2 lib
116	$(MAKE) -C $(SRC_DIR)/hemv2 lib
117	$(MAKE) -C $(SRC_DIR)/gbmv2 lib
118
119
120Makefile: Makefile.m4
121	$(M4) $(M4_OPTS) Makefile.m4 > Makefile
122# custom test-dot2 stuff
123
124
125dot2-test-source:
126	$(MAKE) -C $(M4_DIR)/test-dot2
127dot2-test-lib: lib
128	$(MAKE) -C $(TEST_DIR)/test-dot2 do_test_dot2
129
130dot2-test: dot2-test-lib
131	$(MAKE) -C $(TEST_DIR)/test-dot2
132
133dot2-clean:
134	$(MAKE) -C $(TEST_DIR)/test-dot2 clean
135
136
137dot2-source-clean:
138	$(MAKE) -C $(M4_DIR)/test-dot2 source-clean
139
140# dot stuff
141
142dot: dot-test
143
144
145dot-source:
146	$(MAKE) -C $(M4_DIR)/dot
147
148dot-lib: common-lib dot-source
149	$(MAKE) -C $(SRC_DIR)/dot
150
151dot-test-source:
152	$(MAKE) -C $(M4_DIR)/test-dot
153
154dot-test-lib: dot-test-source lib common-test-lib
155	$(MAKE) -C $(TEST_DIR)/test-dot do_test_dot
156
157dot-test: dot-test-lib
158	$(MAKE) -C $(TEST_DIR)/test-dot
159
160dot-clean:
161	$(MAKE) -C $(SRC_DIR)/dot clean
162	$(MAKE) -C $(TEST_DIR)/test-dot clean
163
164
165dot-source-clean:
166	$(MAKE) -C $(M4_DIR)/dot source-clean
167	$(MAKE) -C $(M4_DIR)/test-dot source-clean
168
169# sum stuff
170
171sum: sum-test
172
173
174sum-source:
175	$(MAKE) -C $(M4_DIR)/sum
176
177sum-lib: common-lib sum-source
178	$(MAKE) -C $(SRC_DIR)/sum
179
180sum-test-source:
181	$(MAKE) -C $(M4_DIR)/test-sum
182
183sum-test-lib: sum-test-source lib common-test-lib
184	$(MAKE) -C $(TEST_DIR)/test-sum do_test_sum
185
186sum-test: sum-test-lib
187	$(MAKE) -C $(TEST_DIR)/test-sum
188
189sum-clean:
190	$(MAKE) -C $(SRC_DIR)/sum clean
191	$(MAKE) -C $(TEST_DIR)/test-sum clean
192
193
194sum-source-clean:
195	$(MAKE) -C $(M4_DIR)/sum source-clean
196	$(MAKE) -C $(M4_DIR)/test-sum source-clean
197
198# axpby stuff
199
200axpby: axpby-test
201
202
203axpby-source:
204	$(MAKE) -C $(M4_DIR)/axpby
205
206axpby-lib: common-lib axpby-source
207	$(MAKE) -C $(SRC_DIR)/axpby
208
209axpby-test-source:
210	$(MAKE) -C $(M4_DIR)/test-axpby
211
212axpby-test-lib: axpby-test-source lib common-test-lib
213	$(MAKE) -C $(TEST_DIR)/test-axpby do_test_axpby
214
215axpby-test: axpby-test-lib
216	$(MAKE) -C $(TEST_DIR)/test-axpby
217
218axpby-clean:
219	$(MAKE) -C $(SRC_DIR)/axpby clean
220	$(MAKE) -C $(TEST_DIR)/test-axpby clean
221
222
223axpby-source-clean:
224	$(MAKE) -C $(M4_DIR)/axpby source-clean
225	$(MAKE) -C $(M4_DIR)/test-axpby source-clean
226
227# waxpby stuff
228
229waxpby: waxpby-test
230
231
232waxpby-source:
233	$(MAKE) -C $(M4_DIR)/waxpby
234
235waxpby-lib: common-lib waxpby-source
236	$(MAKE) -C $(SRC_DIR)/waxpby
237
238waxpby-test-source:
239	$(MAKE) -C $(M4_DIR)/test-waxpby
240
241waxpby-test-lib: waxpby-test-source lib common-test-lib
242	$(MAKE) -C $(TEST_DIR)/test-waxpby do_test_waxpby
243
244waxpby-test: waxpby-test-lib
245	$(MAKE) -C $(TEST_DIR)/test-waxpby
246
247waxpby-clean:
248	$(MAKE) -C $(SRC_DIR)/waxpby clean
249	$(MAKE) -C $(TEST_DIR)/test-waxpby clean
250
251
252waxpby-source-clean:
253	$(MAKE) -C $(M4_DIR)/waxpby source-clean
254	$(MAKE) -C $(M4_DIR)/test-waxpby source-clean
255
256# gemv stuff
257
258gemv: gemv-test
259
260
261gemv-source:
262	$(MAKE) -C $(M4_DIR)/gemv
263
264gemv-lib: common-lib gemv-source
265	$(MAKE) -C $(SRC_DIR)/gemv
266
267gemv-test-source:
268	$(MAKE) -C $(M4_DIR)/test-gemv
269
270gemv-test-lib: gemv-test-source lib common-test-lib
271	$(MAKE) -C $(TEST_DIR)/test-gemv do_test_gemv
272
273gemv-test: gemv-test-lib
274	$(MAKE) -C $(TEST_DIR)/test-gemv
275
276gemv-clean:
277	$(MAKE) -C $(SRC_DIR)/gemv clean
278	$(MAKE) -C $(TEST_DIR)/test-gemv clean
279
280
281gemv-source-clean:
282	$(MAKE) -C $(M4_DIR)/gemv source-clean
283	$(MAKE) -C $(M4_DIR)/test-gemv source-clean
284
285# ge_sum_mv stuff
286
287ge_sum_mv: ge_sum_mv-test
288
289
290ge_sum_mv-source:
291	$(MAKE) -C $(M4_DIR)/ge_sum_mv
292
293ge_sum_mv-lib: common-lib ge_sum_mv-source
294	$(MAKE) -C $(SRC_DIR)/ge_sum_mv
295
296ge_sum_mv-test-source:
297	$(MAKE) -C $(M4_DIR)/test-ge_sum_mv
298
299ge_sum_mv-test-lib: ge_sum_mv-test-source lib common-test-lib
300	$(MAKE) -C $(TEST_DIR)/test-ge_sum_mv do_test_ge_sum_mv
301
302ge_sum_mv-test: ge_sum_mv-test-lib
303	$(MAKE) -C $(TEST_DIR)/test-ge_sum_mv
304
305ge_sum_mv-clean:
306	$(MAKE) -C $(SRC_DIR)/ge_sum_mv clean
307	$(MAKE) -C $(TEST_DIR)/test-ge_sum_mv clean
308
309
310ge_sum_mv-source-clean:
311	$(MAKE) -C $(M4_DIR)/ge_sum_mv source-clean
312	$(MAKE) -C $(M4_DIR)/test-ge_sum_mv source-clean
313
314# gbmv stuff
315
316gbmv: gbmv-test
317
318
319gbmv-source:
320	$(MAKE) -C $(M4_DIR)/gbmv
321
322gbmv-lib: common-lib gbmv-source
323	$(MAKE) -C $(SRC_DIR)/gbmv
324
325gbmv-test-source:
326	$(MAKE) -C $(M4_DIR)/test-gbmv
327
328gbmv-test-lib: gbmv-test-source lib common-test-lib
329	$(MAKE) -C $(TEST_DIR)/test-gbmv do_test_gbmv
330
331gbmv-test: gbmv-test-lib
332	$(MAKE) -C $(TEST_DIR)/test-gbmv
333
334gbmv-clean:
335	$(MAKE) -C $(SRC_DIR)/gbmv clean
336	$(MAKE) -C $(TEST_DIR)/test-gbmv clean
337
338
339gbmv-source-clean:
340	$(MAKE) -C $(M4_DIR)/gbmv source-clean
341	$(MAKE) -C $(M4_DIR)/test-gbmv source-clean
342
343# symv stuff
344
345symv: symv-test
346
347
348symv-source:
349	$(MAKE) -C $(M4_DIR)/symv
350
351symv-lib: common-lib symv-source
352	$(MAKE) -C $(SRC_DIR)/symv
353
354symv-test-source:
355	$(MAKE) -C $(M4_DIR)/test-symv
356
357symv-test-lib: symv-test-source lib common-test-lib
358	$(MAKE) -C $(TEST_DIR)/test-symv do_test_symv
359
360symv-test: symv-test-lib
361	$(MAKE) -C $(TEST_DIR)/test-symv
362
363symv-clean:
364	$(MAKE) -C $(SRC_DIR)/symv clean
365	$(MAKE) -C $(TEST_DIR)/test-symv clean
366
367
368symv-source-clean:
369	$(MAKE) -C $(M4_DIR)/symv source-clean
370	$(MAKE) -C $(M4_DIR)/test-symv source-clean
371
372# spmv stuff
373
374spmv: spmv-test
375
376
377spmv-source:
378	$(MAKE) -C $(M4_DIR)/spmv
379
380spmv-lib: common-lib spmv-source
381	$(MAKE) -C $(SRC_DIR)/spmv
382
383spmv-test-source:
384	$(MAKE) -C $(M4_DIR)/test-spmv
385
386spmv-test-lib: spmv-test-source lib common-test-lib
387	$(MAKE) -C $(TEST_DIR)/test-spmv do_test_spmv
388
389spmv-test: spmv-test-lib
390	$(MAKE) -C $(TEST_DIR)/test-spmv
391
392spmv-clean:
393	$(MAKE) -C $(SRC_DIR)/spmv clean
394	$(MAKE) -C $(TEST_DIR)/test-spmv clean
395
396
397spmv-source-clean:
398	$(MAKE) -C $(M4_DIR)/spmv source-clean
399	$(MAKE) -C $(M4_DIR)/test-spmv source-clean
400
401# sbmv stuff
402
403sbmv: sbmv-test
404
405
406sbmv-source:
407	$(MAKE) -C $(M4_DIR)/sbmv
408
409sbmv-lib: common-lib sbmv-source
410	$(MAKE) -C $(SRC_DIR)/sbmv
411
412sbmv-test-source:
413	$(MAKE) -C $(M4_DIR)/test-sbmv
414
415sbmv-test-lib: sbmv-test-source lib common-test-lib
416	$(MAKE) -C $(TEST_DIR)/test-sbmv do_test_sbmv
417
418sbmv-test: sbmv-test-lib
419	$(MAKE) -C $(TEST_DIR)/test-sbmv
420
421sbmv-clean:
422	$(MAKE) -C $(SRC_DIR)/sbmv clean
423	$(MAKE) -C $(TEST_DIR)/test-sbmv clean
424
425
426sbmv-source-clean:
427	$(MAKE) -C $(M4_DIR)/sbmv source-clean
428	$(MAKE) -C $(M4_DIR)/test-sbmv source-clean
429
430# hemv stuff
431
432hemv: hemv-test
433
434
435hemv-source:
436	$(MAKE) -C $(M4_DIR)/hemv
437
438hemv-lib: common-lib hemv-source
439	$(MAKE) -C $(SRC_DIR)/hemv
440
441hemv-test-source:
442	$(MAKE) -C $(M4_DIR)/test-hemv
443
444hemv-test-lib: hemv-test-source lib common-test-lib
445	$(MAKE) -C $(TEST_DIR)/test-hemv do_test_hemv
446
447hemv-test: hemv-test-lib
448	$(MAKE) -C $(TEST_DIR)/test-hemv
449
450hemv-clean:
451	$(MAKE) -C $(SRC_DIR)/hemv clean
452	$(MAKE) -C $(TEST_DIR)/test-hemv clean
453
454
455hemv-source-clean:
456	$(MAKE) -C $(M4_DIR)/hemv source-clean
457	$(MAKE) -C $(M4_DIR)/test-hemv source-clean
458
459# hpmv stuff
460
461hpmv: hpmv-test
462
463
464hpmv-source:
465	$(MAKE) -C $(M4_DIR)/hpmv
466
467hpmv-lib: common-lib hpmv-source
468	$(MAKE) -C $(SRC_DIR)/hpmv
469
470hpmv-test-source:
471	$(MAKE) -C $(M4_DIR)/test-hpmv
472
473hpmv-test-lib: hpmv-test-source lib common-test-lib
474	$(MAKE) -C $(TEST_DIR)/test-hpmv do_test_hpmv
475
476hpmv-test: hpmv-test-lib
477	$(MAKE) -C $(TEST_DIR)/test-hpmv
478
479hpmv-clean:
480	$(MAKE) -C $(SRC_DIR)/hpmv clean
481	$(MAKE) -C $(TEST_DIR)/test-hpmv clean
482
483
484hpmv-source-clean:
485	$(MAKE) -C $(M4_DIR)/hpmv source-clean
486	$(MAKE) -C $(M4_DIR)/test-hpmv source-clean
487
488# hbmv stuff
489
490hbmv: hbmv-test
491
492
493hbmv-source:
494	$(MAKE) -C $(M4_DIR)/hbmv
495
496hbmv-lib: common-lib hbmv-source
497	$(MAKE) -C $(SRC_DIR)/hbmv
498
499hbmv-test-source:
500	$(MAKE) -C $(M4_DIR)/test-hbmv
501
502hbmv-test-lib: hbmv-test-source lib common-test-lib
503	$(MAKE) -C $(TEST_DIR)/test-hbmv do_test_hbmv
504
505hbmv-test: hbmv-test-lib
506	$(MAKE) -C $(TEST_DIR)/test-hbmv
507
508hbmv-clean:
509	$(MAKE) -C $(SRC_DIR)/hbmv clean
510	$(MAKE) -C $(TEST_DIR)/test-hbmv clean
511
512
513hbmv-source-clean:
514	$(MAKE) -C $(M4_DIR)/hbmv source-clean
515	$(MAKE) -C $(M4_DIR)/test-hbmv source-clean
516
517# trmv stuff
518
519trmv: trmv-test
520
521
522trmv-source:
523	$(MAKE) -C $(M4_DIR)/trmv
524
525trmv-lib: common-lib trmv-source
526	$(MAKE) -C $(SRC_DIR)/trmv
527
528trmv-test-source:
529	$(MAKE) -C $(M4_DIR)/test-trmv
530
531trmv-test-lib: trmv-test-source lib common-test-lib
532	$(MAKE) -C $(TEST_DIR)/test-trmv do_test_trmv
533
534trmv-test: trmv-test-lib
535	$(MAKE) -C $(TEST_DIR)/test-trmv
536
537trmv-clean:
538	$(MAKE) -C $(SRC_DIR)/trmv clean
539	$(MAKE) -C $(TEST_DIR)/test-trmv clean
540
541
542trmv-source-clean:
543	$(MAKE) -C $(M4_DIR)/trmv source-clean
544	$(MAKE) -C $(M4_DIR)/test-trmv source-clean
545
546# tpmv stuff
547
548tpmv: tpmv-test
549
550
551tpmv-source:
552	$(MAKE) -C $(M4_DIR)/tpmv
553
554tpmv-lib: common-lib tpmv-source
555	$(MAKE) -C $(SRC_DIR)/tpmv
556
557tpmv-test-source:
558	$(MAKE) -C $(M4_DIR)/test-tpmv
559
560tpmv-test-lib: tpmv-test-source lib common-test-lib
561	$(MAKE) -C $(TEST_DIR)/test-tpmv do_test_tpmv
562
563tpmv-test: tpmv-test-lib
564	$(MAKE) -C $(TEST_DIR)/test-tpmv
565
566tpmv-clean:
567	$(MAKE) -C $(SRC_DIR)/tpmv clean
568	$(MAKE) -C $(TEST_DIR)/test-tpmv clean
569
570
571tpmv-source-clean:
572	$(MAKE) -C $(M4_DIR)/tpmv source-clean
573	$(MAKE) -C $(M4_DIR)/test-tpmv source-clean
574
575# trsv stuff
576
577trsv: trsv-test
578
579
580trsv-source:
581	$(MAKE) -C $(M4_DIR)/trsv
582
583trsv-lib: common-lib trsv-source
584	$(MAKE) -C $(SRC_DIR)/trsv
585
586trsv-test-source:
587	$(MAKE) -C $(M4_DIR)/test-trsv
588
589trsv-test-lib: trsv-test-source lib common-test-lib
590	$(MAKE) -C $(TEST_DIR)/test-trsv do_test_trsv
591
592trsv-test: trsv-test-lib
593	$(MAKE) -C $(TEST_DIR)/test-trsv
594
595trsv-clean:
596	$(MAKE) -C $(SRC_DIR)/trsv clean
597	$(MAKE) -C $(TEST_DIR)/test-trsv clean
598
599
600trsv-source-clean:
601	$(MAKE) -C $(M4_DIR)/trsv source-clean
602	$(MAKE) -C $(M4_DIR)/test-trsv source-clean
603
604# tbsv stuff
605
606tbsv: tbsv-test
607
608
609tbsv-source:
610	$(MAKE) -C $(M4_DIR)/tbsv
611
612tbsv-lib: common-lib tbsv-source
613	$(MAKE) -C $(SRC_DIR)/tbsv
614
615tbsv-test-source:
616	$(MAKE) -C $(M4_DIR)/test-tbsv
617
618tbsv-test-lib: tbsv-test-source lib common-test-lib
619	$(MAKE) -C $(TEST_DIR)/test-tbsv do_test_tbsv
620
621tbsv-test: tbsv-test-lib
622	$(MAKE) -C $(TEST_DIR)/test-tbsv
623
624tbsv-clean:
625	$(MAKE) -C $(SRC_DIR)/tbsv clean
626	$(MAKE) -C $(TEST_DIR)/test-tbsv clean
627
628
629tbsv-source-clean:
630	$(MAKE) -C $(M4_DIR)/tbsv source-clean
631	$(MAKE) -C $(M4_DIR)/test-tbsv source-clean
632
633# gemm stuff
634
635gemm: gemm-test
636
637
638gemm-source:
639	$(MAKE) -C $(M4_DIR)/gemm
640
641gemm-lib: common-lib gemm-source
642	$(MAKE) -C $(SRC_DIR)/gemm
643
644gemm-test-source:
645	$(MAKE) -C $(M4_DIR)/test-gemm
646
647gemm-test-lib: gemm-test-source lib common-test-lib
648	$(MAKE) -C $(TEST_DIR)/test-gemm do_test_gemm
649
650gemm-test: gemm-test-lib
651	$(MAKE) -C $(TEST_DIR)/test-gemm
652
653gemm-clean:
654	$(MAKE) -C $(SRC_DIR)/gemm clean
655	$(MAKE) -C $(TEST_DIR)/test-gemm clean
656
657
658gemm-source-clean:
659	$(MAKE) -C $(M4_DIR)/gemm source-clean
660	$(MAKE) -C $(M4_DIR)/test-gemm source-clean
661
662# symm stuff
663
664symm: symm-test
665
666
667symm-source:
668	$(MAKE) -C $(M4_DIR)/symm
669
670symm-lib: common-lib symm-source
671	$(MAKE) -C $(SRC_DIR)/symm
672
673symm-test-source:
674	$(MAKE) -C $(M4_DIR)/test-symm
675
676symm-test-lib: symm-test-source lib common-test-lib
677	$(MAKE) -C $(TEST_DIR)/test-symm do_test_symm
678
679symm-test: symm-test-lib
680	$(MAKE) -C $(TEST_DIR)/test-symm
681
682symm-clean:
683	$(MAKE) -C $(SRC_DIR)/symm clean
684	$(MAKE) -C $(TEST_DIR)/test-symm clean
685
686
687symm-source-clean:
688	$(MAKE) -C $(M4_DIR)/symm source-clean
689	$(MAKE) -C $(M4_DIR)/test-symm source-clean
690
691# hemm stuff
692
693hemm: hemm-test
694
695
696hemm-source:
697	$(MAKE) -C $(M4_DIR)/hemm
698
699hemm-lib: common-lib hemm-source
700	$(MAKE) -C $(SRC_DIR)/hemm
701
702hemm-test-source:
703	$(MAKE) -C $(M4_DIR)/test-hemm
704
705hemm-test-lib: hemm-test-source lib common-test-lib
706	$(MAKE) -C $(TEST_DIR)/test-hemm do_test_hemm
707
708hemm-test: hemm-test-lib
709	$(MAKE) -C $(TEST_DIR)/test-hemm
710
711hemm-clean:
712	$(MAKE) -C $(SRC_DIR)/hemm clean
713	$(MAKE) -C $(TEST_DIR)/test-hemm clean
714
715
716hemm-source-clean:
717	$(MAKE) -C $(M4_DIR)/hemm source-clean
718	$(MAKE) -C $(M4_DIR)/test-hemm source-clean
719
720# gemv2 stuff
721
722gemv2: gemv2-test
723
724
725gemv2-source:
726	$(MAKE) -C $(M4_DIR)/gemv2
727
728gemv2-lib: common-lib gemv2-source
729	$(MAKE) -C $(SRC_DIR)/gemv2
730
731gemv2-test-source:
732	$(MAKE) -C $(M4_DIR)/test-gemv2
733
734gemv2-test-lib: gemv2-test-source lib common-test-lib
735	$(MAKE) -C $(TEST_DIR)/test-gemv2 do_test_gemv2
736
737gemv2-test: gemv2-test-lib
738	$(MAKE) -C $(TEST_DIR)/test-gemv2
739
740gemv2-clean:
741	$(MAKE) -C $(SRC_DIR)/gemv2 clean
742	$(MAKE) -C $(TEST_DIR)/test-gemv2 clean
743
744
745gemv2-source-clean:
746	$(MAKE) -C $(M4_DIR)/gemv2 source-clean
747	$(MAKE) -C $(M4_DIR)/test-gemv2 source-clean
748
749# symv2 stuff
750
751symv2: symv2-test
752
753
754symv2-source:
755	$(MAKE) -C $(M4_DIR)/symv2
756
757symv2-lib: common-lib symv2-source
758	$(MAKE) -C $(SRC_DIR)/symv2
759
760symv2-test-source:
761	$(MAKE) -C $(M4_DIR)/test-symv2
762
763symv2-test-lib: symv2-test-source lib common-test-lib
764	$(MAKE) -C $(TEST_DIR)/test-symv2 do_test_symv2
765
766symv2-test: symv2-test-lib
767	$(MAKE) -C $(TEST_DIR)/test-symv2
768
769symv2-clean:
770	$(MAKE) -C $(SRC_DIR)/symv2 clean
771	$(MAKE) -C $(TEST_DIR)/test-symv2 clean
772
773
774symv2-source-clean:
775	$(MAKE) -C $(M4_DIR)/symv2 source-clean
776	$(MAKE) -C $(M4_DIR)/test-symv2 source-clean
777
778# hemv2 stuff
779
780hemv2: hemv2-test
781
782
783hemv2-source:
784	$(MAKE) -C $(M4_DIR)/hemv2
785
786hemv2-lib: common-lib hemv2-source
787	$(MAKE) -C $(SRC_DIR)/hemv2
788
789hemv2-test-source:
790	$(MAKE) -C $(M4_DIR)/test-hemv2
791
792hemv2-test-lib: hemv2-test-source lib common-test-lib
793	$(MAKE) -C $(TEST_DIR)/test-hemv2 do_test_hemv2
794
795hemv2-test: hemv2-test-lib
796	$(MAKE) -C $(TEST_DIR)/test-hemv2
797
798hemv2-clean:
799	$(MAKE) -C $(SRC_DIR)/hemv2 clean
800	$(MAKE) -C $(TEST_DIR)/test-hemv2 clean
801
802
803hemv2-source-clean:
804	$(MAKE) -C $(M4_DIR)/hemv2 source-clean
805	$(MAKE) -C $(M4_DIR)/test-hemv2 source-clean
806
807# gbmv2 stuff
808
809gbmv2: gbmv2-test
810
811
812gbmv2-source:
813	$(MAKE) -C $(M4_DIR)/gbmv2
814
815gbmv2-lib: common-lib gbmv2-source
816	$(MAKE) -C $(SRC_DIR)/gbmv2
817
818gbmv2-test-source:
819	$(MAKE) -C $(M4_DIR)/test-gbmv2
820
821gbmv2-test-lib: gbmv2-test-source lib common-test-lib
822	$(MAKE) -C $(TEST_DIR)/test-gbmv2 do_test_gbmv2
823
824gbmv2-test: gbmv2-test-lib
825	$(MAKE) -C $(TEST_DIR)/test-gbmv2
826
827gbmv2-clean:
828	$(MAKE) -C $(SRC_DIR)/gbmv2 clean
829	$(MAKE) -C $(TEST_DIR)/test-gbmv2 clean
830
831
832gbmv2-source-clean:
833	$(MAKE) -C $(M4_DIR)/gbmv2 source-clean
834	$(MAKE) -C $(M4_DIR)/test-gbmv2 source-clean
835
836
837# Test library dependencies
838sum-test-lib: dot-test-lib
839axpby-test-lib: dot-test-lib
840waxpby-test-lib: dot-test-lib
841gemv-test-lib: dot-test-lib
842ge_sum_mv-test-lib: dot-test-lib gemv-test-lib symv-test-lib gemm-test-lib
843gbmv-test-lib: dot-test-lib
844symv-test-lib: dot-test-lib gemm-test-lib
845spmv-test-lib: dot-test-lib symv-test-lib
846sbmv-test-lib: dot-test-lib symv-test-lib
847hemv-test-lib: dot-test-lib symv-test-lib
848hbmv-test-lib: dot-test-lib symv-test-lib hemv-test-lib sbmv-test-lib
849hpmv-test-lib: dot-test-lib symv-test-lib hemv-test-lib
850trmv-test-lib: dot-test-lib
851tpmv-test-lib: dot-test-lib
852trsv-test-lib: dot-test-lib trmv-test-lib
853tbsv-test-lib: dot-test-lib gbmv-test-lib trsv-test-lib
854gemm-test-lib: dot-test-lib gemv-test-lib
855symm-test-lib: dot-test-lib gemv-test-lib symv-test-lib
856hemm-test-lib: dot-test-lib gemv-test-lib hemv-test-lib symv-test-lib symm-test-lib
857gemv2-test-lib: dot2-test-lib gemv-test-lib
858dot2-test-lib: dot-test-lib
859
860
861# Cleaning stuff
862
863clean: $(CLEAN)
864	$(MAKE) -C $(SRC_DIR)/common clean
865	$(MAKE) -C $(TEST_DIR)/common clean
866	$(MAKE) -C $(M4_DIR) clean
867
868dist-clean: clean
869	rm -f $(XBLASLIB) testall.result testall.summary
870	rm -rf autom4te.cache
871	rm -f config.log config.status
872
873
874source-clean: dist-clean
875	$(MAKE) -C m4 source-clean
876
877maintainer-clean: source-clean
878	$(MAKE) -C m4 maintainer-clean
879	rm -f m4/Makefile
880	$(MAKE) -C src maintainer-clean
881	rm -f src/Makefile
882	rm -f Makefile
883	rm -f configure
884
885.PHONY: $(LIBS) $(TEST_LIB) $(TESTS) $(CLEAN) \
886        $(SOURCES) $(TEST_SOURCES) $(SOURCE_CLEAN) \
887        sources test-sources source-clean maintainer-clean \
888        all test-lib tests common-lib common-test-lib lib clean dist-clean
889
890