1dlvl = ./.
2include $(dlvl)/Makefile.in
3
4all: alllib alltst 
5
6help:
7	@ echo "Make sure you are using correct Makefile.in for your system."
8	@ echo "At this level, assuming you have downloded all necessary    "
9	@ echo "files and made an archive file of BLAS routines for your    "
10	@ echo "system."
11	@ echo " "
12	@ echo "The Makefile compiles the routines of CBLAS (C interface of "
13	@ echo "BLAS) and testers for all the precisions.                   "
14	@ echo "If there is no directory for archives in CBLAS/lib, it      "
15	@ echo "creates new directory with the name of the platform of your "
16	@ echo "machine." 
17	@ echo " "
18	@ echo "To compile, you have to type as follows"
19	@ echo "make <target>"
20	@ echo " where <target> is one of:"
21	@ echo "slib1 --- make an archive of level 1 REAL."
22	@ echo "dlib1 --- make an archive of level 1 DOUBLE PRECISION."
23	@ echo "clib1 --- make an archive of level 1 COMPLEX."
24	@ echo "zlib1 --- make an archive of level 1 COMPLEX*16."
25	@ echo "alllib1 - make an archive of level 1 all precisions."
26	@ echo " "
27	@ echo "slib2 --- make an archive of level 2 REAL."
28	@ echo "dlib2 --- make an archive of level 2 DOUBLE PRECSION."
29	@ echo "clib2 --- make an archive of level 2 COMPLEX."
30	@ echo "zlib2 --- make an archive of level 2 COMPLEX*16."
31	@ echo "alllib2 - make an archive of level 2 all precisions."
32	@ echo " "
33	@ echo "slib3 --- make an archive of level 3 REAL."
34	@ echo "dlib3 --- make an archive of level 3 DOUBLE PRECISION ."
35	@ echo "clib3 --- make an archive of level 3 COMPLEX."
36	@ echo "zlib3 --- make an archive of level 3 COMPLEX*16."
37	@ echo "alllib3 - make an archive of level 3 all precisions."
38	@ echo " "
39	@ echo "alllib -- make an archive for all precisions."
40	@ echo " "
41	@ echo "stest1 -- Compiles the tester for level 1 REAL."
42	@ echo "dtest1 -- Compiles the tester for level 1 DOUBLE PRECISION. "
43	@ echo "ctest1 -- Compiles the tester for level 1 COMPLEX."
44	@ echo "ztest1 -- Compiles the tester for level 1 COMPLEX*16."
45	@ echo "alltst1 - Compiles testers for all precisions of level 1." 
46	@ echo " "
47	@ echo "stest2 -- Compiles the tester for level 2 REAL."
48	@ echo "dtest2 -- Compiles the tester for level 2 DOUBLE PRECISION. "
49	@ echo "ctest2 -- Compiles the tester for level 2 COMPLEX."
50	@ echo "ztest2 -- Compiles the tester for level 2 COMPLEX*16."
51	@ echo "alltst2 - Compiles testers for all precisions of level 2." 
52	@ echo " "
53	@ echo "stest3 -- Compiles the tester for level 3 REAL."
54	@ echo "dtest3 -- Compiles the tester for level 3 DOUBLE PRECISON. "
55	@ echo "ctest3 -- Compiles the tester for level 3 COMPLEX."
56	@ echo "ztest3 -- Compiles the tester for level 3 COMPLEX*16."
57	@ echo "alltst3 - Compiles testers for all precisions of level 3." 
58	@ echo " "
59	@ echo "alltst -- Compiles testers for all CBLAS routines." 
60	@ echo "runtst -- Execute testers for all CBLAS routines." 
61	@ echo " "
62	@ echo "all ----- Creates a library and testers for ALL." 
63	@ echo " "
64	@ echo "clean --- Erase all the .o and excutable files" 
65	@ echo "cleanlib -- Erase all the .o  files" 
66	@ echo "cleanexe -- Erase all the excutable files" 
67	@ echo "rmlib --- Remove a library file." 
68	@ echo " "
69	@ echo "example -- Creates example1 and example2"
70	@ echo "example1 -- A small example to exercise the interface "
71	@ echo "example2 -- Test that cblas_xerbla() is working correctly"
72	@ echo " "
73	@ echo " ------- Warning ------- "
74	@ echo "If you want just to make a tester, make sure you have"
75	@ echo "already made an archive file out of CBLAS routines."
76	@ echo " "
77	@ echo "Written by Keita Teranishi"
78	@ echo "3/4/98 "
79
80
81# In general, the Makefile call other Makefiles in the sub-directories.
82
83
84clean:
85	( cd testing && make clean )
86	( cd src && make clean )
87	rm -f *.o cblas_ex1 cblas_ex2
88
89cleanobj:
90	( cd testing && make cleanobj )
91	( cd src && make clean )
92
93cleanexe:
94	( cd testing && make cleanexe )
95
96rmlib:
97	( rm -f $(CBLIB) )
98slib1:  sreal1
99dlib1:  dreal1
100clib1:  scplx1
101zlib1:  dcplx1
102slib2:  sreal2
103dlib2:  dreal2
104clib2:  scplx2
105zlib2:  dcplx2
106slib3:  sreal3
107dlib3:  dreal3
108clib3:  scplx3 
109zlib3:  dcplx3 
110alllib1: allprecision1
111alllib2: allprecision2
112alllib3: allprecision3
113alllib:  allprecision
114
115
116sreal1:
117	( cd src && make slib1)
118dreal1:
119	( cd src && make dlib1)
120scplx1:
121	( cd src && make clib1)
122dcplx1:
123	( cd src && make zlib1)
124allprecision1:
125	( cd src && make all1)
126sreal2:
127	( cd src && make slib2)
128dreal2:
129	( cd src && make dlib2)
130scplx2:
131	( cd src && make clib2)
132dcplx2:
133	( cd src && make zlib2)
134allprecision2:
135	( cd src && make all2)
136sreal3:
137	( cd src && make slib3)
138dreal3:
139	( cd src && make dlib3)
140scplx3:
141	( cd src && make clib3)
142dcplx3:
143	( cd src && make zlib3)
144allprecision3:
145	( cd src && make all3)
146allprecision:
147	( cd src && make all)
148
149stest1: 
150	( cd testing && make stest1 )
151dtest1: 
152	( cd testing && make dtest1 )
153ctest1: 
154	( cd testing && make ctest1 )
155ztest1: 
156	( cd testing && make ztest1 )
157alltst1:
158	( cd testing && make all1 )
159stest2:
160	( cd testing && make stest2 )
161dtest2:
162	( cd testing && make dtest2 )
163ctest2:
164	( cd testing && make ctest2 )
165ztest2:
166	( cd testing && make ztest2 )
167alltst2:
168	( cd testing && make all2 )
169stest3:
170	( cd testing && make stest3 )
171dtest3:
172	( cd testing && make dtest3 )
173ctest3:
174	( cd testing && make ctest3 )
175ztest3:
176	( cd testing && make ztest3 )
177alltst3:
178	( cd testing && make all3 )
179alltst:
180	( cd testing && make all )
181runtst:
182	( cd testing && make run )
183	
184example: alllib
185	( cd examples && make all )
186example1: alllib
187	( cd examples && make example1 )
188example2: alllib
189	( cd examples && make example1 )
190
191   
192cleanall:
193	( cd src && rm -f a.out core *.o $(CBLIB) )
194	( cd testing && rm -f *.out core *.o x[sdcz]cblat[123] )
195	( cd examples && rm -f *.o cblas_ex1 cblas_ex2 )
196