Statistiques
| Révision :

root / src / blas / Makefile @ 5

Historique | Voir | Annoter | Télécharger (5,63 ko)

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