makefile
来自「famous linear algebra library (LAPACK) p」· 代码 · 共 152 行
TXT
152 行
!include <..\..\make.inc>
#######################################################################
# This is the makefile to create a library for the BLAS.
# The files are grouped as follows:
#
# SBLAS1 -- Single precision real BLAS routines
# CBLAS1 -- Single precision complex BLAS routines
# DBLAS1 -- Double precision real BLAS routines
# ZBLAS1 -- Double precision complex BLAS routines
#
# CB1AUX -- Real BLAS routines called by complex routines
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
# routines
#
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
#
# SBLAS2 -- Single precision real BLAS2 routines
# CBLAS2 -- Single precision complex BLAS2 routines
# DBLAS2 -- Double precision real BLAS2 routines
# ZBLAS2 -- Double precision complex BLAS2 routines
#
# SBLAS3 -- Single precision real BLAS3 routines
# CBLAS3 -- Single precision complex BLAS3 routines
# DBLAS3 -- Double precision real BLAS3 routines
# ZBLAS3 -- Double precision complex BLAS3 routines
#
# The library can be set up to include routines for any combination
# of the four precisions. To create or add to the library, enter nmake
# followed by one or more of the precisions desired. Some examples:
# nmake single
# nmake single complex
# nmake single double complex complex16
# Note that these commands are not safe for parallel builds.
#
# Alternatively, the commands
# nmake all
# or
# nmake
# without any arguments creates a library of all four precisions.
# The name of the library is held in BLASLIB, which is set in the
# top-level make.inc
#
# To remove the object files after the library is created, enter
# nmake clean
#
#---------------------------------------------------------------------
#
# Edward Anderson, University of Tennessee
# March 26, 1990
# Susan Ostrouchov, Last updated September 30, 1994
# ejr, May 2006.
#
#######################################################################
all: $(BLASLIB)
#---------------------------------------------------------
# Comment out the next 6 definitions if you already have
# the Level 1 BLAS.
#---------------------------------------------------------
SBLAS1 = isamax.obj sasum.obj saxpy.obj scopy.obj sdot.obj snrm2.obj \
srot.obj srotg.obj sscal.obj sswap.obj sdsdot.obj srotmg.obj srotm.obj
CBLAS1 = scabs1.obj scasum.obj scnrm2.obj icamax.obj caxpy.obj ccopy.obj \
cdotc.obj cdotu.obj csscal.obj crotg.obj cscal.obj cswap.obj csrot.obj
DBLAS1 = idamax.obj dasum.obj daxpy.obj dcopy.obj ddot.obj dnrm2.obj \
drot.obj drotg.obj dscal.obj dswap.obj drotmg.obj drotm.obj
ZBLAS1 = dcabs1.obj dzasum.obj dznrm2.obj izamax.obj zaxpy.obj zcopy.obj \
zdotc.obj zdotu.obj zdscal.obj zrotg.obj zscal.obj zswap.obj zdrot.obj
CB1AUX = isamax.obj sasum.obj saxpy.obj scopy.obj snrm2.obj sscal.obj
ZB1AUX = idamax.obj dasum.obj daxpy.obj dcopy.obj dnrm2.obj dscal.obj
#---------------------------------------------------------------------
# The following line defines auxiliary routines needed by both the
# Level 2 and Level 3 BLAS. Comment it out only if you already have
# both the Level 2 and 3 BLAS.
#---------------------------------------------------------------------
ALLBLAS = lsame.obj xerbla.obj
#---------------------------------------------------------
# Comment out the next 4 definitions if you already have
# the Level 2 BLAS.
#---------------------------------------------------------
SBLAS2 = sgemv.obj sgbmv.obj ssymv.obj ssbmv.obj sspmv.obj \
strmv.obj stbmv.obj stpmv.obj strsv.obj stbsv.obj stpsv.obj \
sger.obj ssyr.obj sspr.obj ssyr2.obj sspr2.obj
CBLAS2 = cgemv.obj cgbmv.obj chemv.obj chbmv.obj chpmv.obj \
ctrmv.obj ctbmv.obj ctpmv.obj ctrsv.obj ctbsv.obj ctpsv.obj \
cgerc.obj cgeru.obj cher.obj chpr.obj cher2.obj chpr2.obj
DBLAS2 = dgemv.obj dgbmv.obj dsymv.obj dsbmv.obj dspmv.obj \
dtrmv.obj dtbmv.obj dtpmv.obj dtrsv.obj dtbsv.obj dtpsv.obj \
dger.obj dsyr.obj dspr.obj dsyr2.obj dspr2.obj
ZBLAS2 = zgemv.obj zgbmv.obj zhemv.obj zhbmv.obj zhpmv.obj \
ztrmv.obj ztbmv.obj ztpmv.obj ztrsv.obj ztbsv.obj ztpsv.obj \
zgerc.obj zgeru.obj zher.obj zhpr.obj zher2.obj zhpr2.obj
#---------------------------------------------------------
# Comment out the next 4 definitions if you already have
# the Level 3 BLAS.
#---------------------------------------------------------
SBLAS3 = sgemm.obj ssymm.obj ssyrk.obj ssyr2k.obj strmm.obj strsm.obj
CBLAS3 = cgemm.obj csymm.obj csyrk.obj csyr2k.obj ctrmm.obj ctrsm.obj \
chemm.obj cherk.obj cher2k.obj
DBLAS3 = dgemm.obj dsymm.obj dsyrk.obj dsyr2k.obj dtrmm.obj dtrsm.obj
ZBLAS3 = zgemm.obj zsymm.obj zsyrk.obj zsyr2k.obj ztrmm.obj ztrsm.obj \
zhemm.obj zherk.obj zher2k.obj
ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
$(CBLAS1) $(CB1AUX) $(CBLAS2) $(CBLAS3) $(ZBLAS1) $(ZB1AUX) \
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
$(BLASLIB): $(ALLOBJ)
$(ARCH) $(ARCHFLAGS)$@ $(ALLOBJ)
$(RANLIB) $@
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
$(ARCH) $(ARCHFLAGS)$(BLASLIB) $(SBLAS1) $(ALLBLAS) \
$(SBLAS2) $(SBLAS3)
$(RANLIB) $(BLASLIB)
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
$(ARCH) $(ARCHFLAGS)$(BLASLIB) $(DBLAS1) $(ALLBLAS) \
$(DBLAS2) $(DBLAS3)
$(RANLIB) $(BLASLIB)
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3)
$(ARCH) $(ARCHFLAGS)$(BLASLIB) $(CBLAS1) $(CB1AUX) \
$(ALLBLAS) $(CBLAS2) $(CBLAS3)
$(RANLIB) $(BLASLIB)
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
$(ARCH) $(ARCHFLAGS)$(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
$(RANLIB) $(BLASLIB)
clean:
$(DEL) *.obj
.f.obj:
$(FORTRAN) $(OPTS) $(CFLAGS) $< $(OBJFLAGS)$@
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?