root / src / blas / Makefile @ 10
Historique | Voir | Annoter | Télécharger (5,63 ko)
1 |
include make.inc |
---|---|
2 |
|
3 |
####################################################################### |
4 |
# This is the makefile to create a library for the BLAS. |
5 |
# The files are grouped as follows: |
6 |
# |
7 |
# SBLAS1 -- Single precision real BLAS routines |
8 |
# CBLAS1 -- Single precision complex BLAS routines |
9 |
# DBLAS1 -- Double precision real BLAS routines |
10 |
# ZBLAS1 -- Double precision complex BLAS routines |
11 |
# |
12 |
# CB1AUX -- Real BLAS routines called by complex routines |
13 |
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex |
14 |
# routines |
15 |
# |
16 |
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS |
17 |
# |
18 |
# SBLAS2 -- Single precision real BLAS2 routines |
19 |
# CBLAS2 -- Single precision complex BLAS2 routines |
20 |
# DBLAS2 -- Double precision real BLAS2 routines |
21 |
# ZBLAS2 -- Double precision complex BLAS2 routines |
22 |
# |
23 |
# SBLAS3 -- Single precision real BLAS3 routines |
24 |
# CBLAS3 -- Single precision complex BLAS3 routines |
25 |
# DBLAS3 -- Double precision real BLAS3 routines |
26 |
# ZBLAS3 -- Double precision complex BLAS3 routines |
27 |
# |
28 |
# The library can be set up to include routines for any combination |
29 |
# of the four precisions. To create or add to the library, enter make |
30 |
# followed by one or more of the precisions desired. Some examples: |
31 |
# make single |
32 |
# make single complex |
33 |
# make single double complex complex16 |
34 |
# Note that these commands are not safe for parallel builds. |
35 |
# |
36 |
# Alternatively, the commands |
37 |
# make all |
38 |
# or |
39 |
# make |
40 |
# without any arguments creates a library of all four precisions. |
41 |
# The name of the library is held in BLASLIB, which is set in the |
42 |
# make.inc |
43 |
# |
44 |
# To remove the object files after the library is created, enter |
45 |
# make clean |
46 |
# To force the source files to be recompiled, enter, for example, |
47 |
# make single FRC=FRC |
48 |
# |
49 |
#--------------------------------------------------------------------- |
50 |
# |
51 |
# Edward Anderson, University of Tennessee |
52 |
# March 26, 1990 |
53 |
# Susan Ostrouchov, September 30, 1994 |
54 |
# Julie Langou, March 2007 |
55 |
# |
56 |
####################################################################### |
57 |
|
58 |
all: $(BLASLIB) |
59 |
|
60 |
#--------------------------------------------------------- |
61 |
# Comment out the next 6 definitions if you already have |
62 |
# the Level 1 BLAS. |
63 |
#--------------------------------------------------------- |
64 |
SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \ |
65 |
srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o |
66 |
$(SBLAS1): $(FRC) |
67 |
|
68 |
CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \ |
69 |
cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o |
70 |
$(CBLAS1): $(FRC) |
71 |
|
72 |
DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \ |
73 |
drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o |
74 |
$(DBLAS1): $(FRC) |
75 |
|
76 |
ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \ |
77 |
zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o |
78 |
$(ZBLAS1): $(FRC) |
79 |
|
80 |
CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o |
81 |
$(CB1AUX): $(FRC) |
82 |
|
83 |
ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o |
84 |
$(ZB1AUX): $(FRC) |
85 |
|
86 |
#--------------------------------------------------------------------- |
87 |
# The following line defines auxiliary routines needed by both the |
88 |
# Level 2 and Level 3 BLAS. Comment it out only if you already have |
89 |
# both the Level 2 and 3 BLAS. |
90 |
#--------------------------------------------------------------------- |
91 |
ALLBLAS = lsame.o xerbla.o |
92 |
$(ALLBLAS) : $(FRC) |
93 |
|
94 |
#--------------------------------------------------------- |
95 |
# Comment out the next 4 definitions if you already have |
96 |
# the Level 2 BLAS. |
97 |
#--------------------------------------------------------- |
98 |
SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \ |
99 |
strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \ |
100 |
sger.o ssyr.o sspr.o ssyr2.o sspr2.o |
101 |
$(SBLAS2): $(FRC) |
102 |
|
103 |
CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \ |
104 |
ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \ |
105 |
cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o |
106 |
$(CBLAS2): $(FRC) |
107 |
|
108 |
DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \ |
109 |
dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \ |
110 |
dger.o dsyr.o dspr.o dsyr2.o dspr2.o |
111 |
$(DBLAS2): $(FRC) |
112 |
|
113 |
ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \ |
114 |
ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \ |
115 |
zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o |
116 |
$(ZBLAS2): $(FRC) |
117 |
|
118 |
#--------------------------------------------------------- |
119 |
# Comment out the next 4 definitions if you already have |
120 |
# the Level 3 BLAS. |
121 |
#--------------------------------------------------------- |
122 |
SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o |
123 |
$(SBLAS3): $(FRC) |
124 |
|
125 |
CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \ |
126 |
chemm.o cherk.o cher2k.o |
127 |
$(CBLAS3): $(FRC) |
128 |
|
129 |
DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o |
130 |
$(DBLAS3): $(FRC) |
131 |
|
132 |
ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \ |
133 |
zhemm.o zherk.o zher2k.o |
134 |
$(ZBLAS3): $(FRC) |
135 |
|
136 |
ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ |
137 |
$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \ |
138 |
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS) |
139 |
|
140 |
$(BLASLIB): $(ALLOBJ) |
141 |
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) |
142 |
$(RANLIB) $@ |
143 |
|
144 |
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) |
145 |
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ |
146 |
$(SBLAS2) $(SBLAS3) |
147 |
$(RANLIB) $(BLASLIB) |
148 |
|
149 |
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) |
150 |
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ |
151 |
$(DBLAS2) $(DBLAS3) |
152 |
$(RANLIB) $(BLASLIB) |
153 |
|
154 |
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) |
155 |
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ |
156 |
$(ALLBLAS) $(CBLAS2) $(CBLAS3) |
157 |
$(RANLIB) $(BLASLIB) |
158 |
|
159 |
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) |
160 |
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ |
161 |
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3) |
162 |
$(RANLIB) $(BLASLIB) |
163 |
|
164 |
FRC: |
165 |
@FRC=$(FRC) |
166 |
|
167 |
clean: |
168 |
rm -f *.o |
169 |
|
170 |
.f.o: |
171 |
$(FORTRAN) $(OPTS) -c $< -o $@ |