wok diff blas/stuff/Makefile.blas @ rev 13094

Add blas
author Christopher Rogers <slaxemulator@gmail.com>
date Tue Jun 26 15:14:27 2012 +0000 (2012-06-26)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/blas/stuff/Makefile.blas	Tue Jun 26 15:14:27 2012 +0000
     1.3 @@ -0,0 +1,148 @@
     1.4 +include ../../make.inc
     1.5 +
     1.6 +#######################################################################
     1.7 +#  This is the makefile to create a library for the BLAS.
     1.8 +#  The files are grouped as follows:
     1.9 +#
    1.10 +#       SBLAS1 -- Single precision real BLAS routines
    1.11 +#       CBLAS1 -- Single precision complex BLAS routines
    1.12 +#       DBLAS1 -- Double precision real BLAS routines
    1.13 +#       ZBLAS1 -- Double precision complex BLAS routines
    1.14 +#
    1.15 +#       CB1AUX -- Real BLAS routines called by complex routines
    1.16 +#       ZB1AUX -- D.P. real BLAS routines called by d.p. complex
    1.17 +#                 routines
    1.18 +#
    1.19 +#      ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
    1.20 +#
    1.21 +#       SBLAS2 -- Single precision real BLAS2 routines
    1.22 +#       CBLAS2 -- Single precision complex BLAS2 routines
    1.23 +#       DBLAS2 -- Double precision real BLAS2 routines
    1.24 +#       ZBLAS2 -- Double precision complex BLAS2 routines
    1.25 +#
    1.26 +#       SBLAS3 -- Single precision real BLAS3 routines
    1.27 +#       CBLAS3 -- Single precision complex BLAS3 routines
    1.28 +#       DBLAS3 -- Double precision real BLAS3 routines
    1.29 +#       ZBLAS3 -- Double precision complex BLAS3 routines
    1.30 +#
    1.31 +#  The library can be set up to include routines for any combination
    1.32 +#  of the four precisions.  To create or add to the library, enter make
    1.33 +#  followed by one or more of the precisions desired.  Some examples:
    1.34 +#       make single
    1.35 +#       make single complex
    1.36 +#       make single double complex complex16
    1.37 +#  Note that these commands are not safe for parallel builds.
    1.38 +#
    1.39 +#  Alternatively, the commands
    1.40 +#       make all
    1.41 +#  or
    1.42 +#       make
    1.43 +#  without any arguments creates a library of all four precisions.
    1.44 +#  The name of the library is held in BLASLIB, which is set in the
    1.45 +#  top-level make.inc
    1.46 +#
    1.47 +#  To remove the object files after the library is created, enter
    1.48 +#       make clean
    1.49 +#  To force the source files to be recompiled, enter, for example,
    1.50 +#       make single FRC=FRC
    1.51 +#
    1.52 +#---------------------------------------------------------------------
    1.53 +#
    1.54 +#  Edward Anderson, University of Tennessee
    1.55 +#  March 26, 1990
    1.56 +#  Susan Ostrouchov, Last updated September 30, 1994
    1.57 +#  ejr, May 2006.
    1.58 +#
    1.59 +#######################################################################
    1.60 +
    1.61 +all: $(BLASLIB)
    1.62 + 
    1.63 +#---------------------------------------------------------
    1.64 +#  Comment out the next 6 definitions if you already have
    1.65 +#  the Level 1 BLAS.
    1.66 +#---------------------------------------------------------
    1.67 +SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
    1.68 +	srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
    1.69 +$(SBLAS1): $(FRC)
    1.70 +
    1.71 +CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
    1.72 +	cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
    1.73 +$(CBLAS1): $(FRC)
    1.74 +
    1.75 +DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
    1.76 +	drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
    1.77 +$(DBLAS1): $(FRC)
    1.78 +
    1.79 +ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
    1.80 +	zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
    1.81 +$(ZBLAS1): $(FRC)
    1.82 +
    1.83 +CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
    1.84 +$(CB1AUX): $(FRC)
    1.85 +
    1.86 +ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
    1.87 +$(ZB1AUX): $(FRC)
    1.88 +
    1.89 +#---------------------------------------------------------------------
    1.90 +#  The following line defines auxiliary routines needed by both the
    1.91 +#  Level 2 and Level 3 BLAS.  Comment it out only if you already have
    1.92 +#  both the Level 2 and 3 BLAS.
    1.93 +#---------------------------------------------------------------------
    1.94 +ALLBLAS  = lsame.o xerbla.o xerbla_array.o
    1.95 +$(ALLBLAS) : $(FRC)
    1.96 +
    1.97 +#---------------------------------------------------------
    1.98 +#  Comment out the next 4 definitions if you already have
    1.99 +#  the Level 2 BLAS.
   1.100 +#---------------------------------------------------------
   1.101 +SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
   1.102 +	strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
   1.103 +	sger.o ssyr.o sspr.o ssyr2.o sspr2.o
   1.104 +$(SBLAS2): $(FRC)
   1.105 +
   1.106 +CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
   1.107 +	ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
   1.108 +	cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
   1.109 +$(CBLAS2): $(FRC)
   1.110 +
   1.111 +DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
   1.112 +	dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
   1.113 +	dger.o dsyr.o dspr.o dsyr2.o dspr2.o
   1.114 +$(DBLAS2): $(FRC)
   1.115 +
   1.116 +ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
   1.117 +	ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
   1.118 +	zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o
   1.119 +$(ZBLAS2): $(FRC)
   1.120 +
   1.121 +#---------------------------------------------------------
   1.122 +#  Comment out the next 4 definitions if you already have
   1.123 +#  the Level 3 BLAS.
   1.124 +#---------------------------------------------------------
   1.125 +SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o 
   1.126 +$(SBLAS3): $(FRC)
   1.127 +
   1.128 +CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
   1.129 +	chemm.o cherk.o cher2k.o
   1.130 +$(CBLAS3): $(FRC)
   1.131 +
   1.132 +DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
   1.133 +$(DBLAS3): $(FRC)
   1.134 +
   1.135 +ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
   1.136 +	zhemm.o zherk.o zher2k.o
   1.137 +$(ZBLAS3): $(FRC)
   1.138 +
   1.139 +ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3)	\
   1.140 +	$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \
   1.141 +	$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
   1.142 +
   1.143 +clean:
   1.144 +	rm -f *.o libblas.a libblas.so*
   1.145 +
   1.146 +static: $(ALLOBJ)
   1.147 +	ar ruv libblas.a $(ALLOBJ)
   1.148 +	ranlib libblas.a
   1.149 +
   1.150 +shared: $(ALLOBJ)
   1.151 +	cc $(CFLAGS) -shared -Wl,-soname,libblas.so.3 -o libblas.so.3.4.0 $(ALLOBJ) -lm -lgfortran -lc