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