root / src / blas / Makefile @ 1
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 $@ |