# This Makefile compiles the CBLAS routines
-#
-# Error handling routines for level 2 & 3
+# Error handling routines for level 2 & 3
set(ERRHAND cblas_globals.c cblas_xerbla.c xerbla.c)
#
#
#
-#
-# All object files for single real precision
-#
+# Files for level 1 single precision real
set(SLEV1 cblas_srotg.c cblas_srotmg.c cblas_srot.c cblas_srotm.c
cblas_sswap.c cblas_sscal.c cblas_scopy.c cblas_saxpy.c
cblas_sdot.c cblas_sdsdot.c cblas_snrm2.c cblas_sasum.c
cblas_isamax.c sdotsub.f sdsdotsub.f snrm2sub.f sasumsub.f
isamaxsub.f)
-#
-# All object files for double real precision
-#
+# Files for level 1 double precision real
set(DLEV1 cblas_drotg.c cblas_drotmg.c cblas_drot.c cblas_drotm.c
cblas_dswap.c cblas_dscal.c cblas_dcopy.c cblas_daxpy.c
cblas_ddot.c cblas_dsdot.c cblas_dnrm2.c cblas_dasum.c
cblas_idamax.c ddotsub.f dsdotsub.f dnrm2sub.f
dasumsub.f idamaxsub.f)
-#
-# All object files for single complex precision
-#
+# Files for level 1 single precision complex
set(CLEV1 cblas_cswap.c cblas_cscal.c cblas_csscal.c cblas_ccopy.c
cblas_caxpy.c cblas_cdotu_sub.c cblas_cdotc_sub.c
cblas_icamax.c cdotcsub.f cdotusub.f icamaxsub.f)
-#
-# All object files for double complex precision
-#
+# Files for level 1 double precision complex
set(ZLEV1 cblas_zswap.c cblas_zscal.c cblas_zdscal.c cblas_zcopy.c
cblas_zaxpy.c cblas_zdotu_sub.c cblas_zdotc_sub.c cblas_dznrm2.c
cblas_dzasum.c cblas_izamax.c zdotcsub.f zdotusub.f
dzasumsub.f dznrm2sub.f izamaxsub.f)
-#
-# Common files for single complex precision
-#
+# Common files for level 1 single precision
set(SCLEV1 cblas_scasum.c scasumsub.f cblas_scnrm2.c scnrm2sub.f)
-#
-# All object files
-#
-set(ALEV1 ${slev1} ${dlev1} ${clev1} ${zlev1} ${sclev1})
-
#
#
# CBLAS routines
#
#
-#
-# All object files for single real precision
-#
+# Files for level 2 single precision real
set(SLEV2 cblas_sgemv.c cblas_sgbmv.c cblas_sger.c cblas_ssbmv.c cblas_sspmv.c
cblas_sspr.c cblas_sspr2.c cblas_ssymv.c cblas_ssyr.c cblas_ssyr2.c
cblas_stbmv.c cblas_stbsv.c cblas_stpmv.c cblas_stpsv.c cblas_strmv.c
cblas_strsv.c)
-#
-# All object files for double real precision
-#
+# Files for level 2 double precision real
set(DLEV2 cblas_dgemv.c cblas_dgbmv.c cblas_dger.c cblas_dsbmv.c cblas_dspmv.c
cblas_dspr.c cblas_dspr2.c cblas_dsymv.c cblas_dsyr.c cblas_dsyr2.c
cblas_dtbmv.c cblas_dtbsv.c cblas_dtpmv.c cblas_dtpsv.c cblas_dtrmv.c
cblas_dtrsv.c)
-#
-# All object files for single complex precision
-#
+# Files for level 2 single precision complex
set(CLEV2 cblas_cgemv.c cblas_cgbmv.c cblas_chemv.c cblas_chbmv.c cblas_chpmv.c
cblas_ctrmv.c cblas_ctbmv.c cblas_ctpmv.c cblas_ctrsv.c cblas_ctbsv.c
cblas_ctpsv.c cblas_cgeru.c cblas_cgerc.c cblas_cher.c cblas_cher2.c
cblas_chpr.c cblas_chpr2.c)
-#
-# All object files for double complex precision
-#
+# Files for level 2 double precision complex
set(ZLEV2 cblas_zgemv.c cblas_zgbmv.c cblas_zhemv.c cblas_zhbmv.c cblas_zhpmv.c
cblas_ztrmv.c cblas_ztbmv.c cblas_ztpmv.c cblas_ztrsv.c cblas_ztbsv.c
cblas_ztpsv.c cblas_zgeru.c cblas_zgerc.c cblas_zher.c cblas_zher2.c
cblas_zhpr.c cblas_zhpr2.c)
-#
-# All object files
-#
-set(AVEL2 ${slev2} ${dlev2} ${clev2} ${zlev2})
-
#
#
# CBLAS routines
#
#
-#
-# All object files for single real precision
-#
+# Files for level 3 single precision real
set(SLEV3 cblas_sgemm.c cblas_ssymm.c cblas_ssyrk.c cblas_ssyr2k.c cblas_strmm.c
cblas_strsm.c)
-#
-# All object files for double real precision
-#
+# Files for level 3 double precision real
set(DLEV3 cblas_dgemm.c cblas_dsymm.c cblas_dsyrk.c cblas_dsyr2k.c cblas_dtrmm.c
cblas_dtrsm.c)
-#
-# All object files for single complex precision
-#
+# Files for level 3 single precision complex
set(CLEV3 cblas_cgemm.c cblas_csymm.c cblas_chemm.c cblas_cherk.c
cblas_cher2k.c cblas_ctrmm.c cblas_ctrsm.c cblas_csyrk.c
cblas_csyr2k.c)
-#
-# All object files for double complex precision
-#
+# Files for level 3 double precision complex
set(ZLEV3 cblas_zgemm.c cblas_zsymm.c cblas_zhemm.c cblas_zherk.c
cblas_zher2k.c cblas_ztrmm.c cblas_ztrsm.c cblas_zsyrk.c
cblas_zsyr2k.c)
-#
-# All object files
-#
-set(ALEV3 ${slev3} ${dlev3} ${clev3} ${zlev3})
-
# default build all of it
set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND}
${DLEV1} ${DLEV2} ${DLEV3}
${CLEV1} ${CLEV2} ${CLEV3}
${ZLEV1} ${ZLEV2} ${ZLEV3})
-# Single real precision
+# Single precision real
if(CBLAS_SINGLE)
set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND})
endif()
-# Double real precision
+# Double precision real
if(CBLAS_DOUBLE)
set(ALLOBJ ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND})
endif()
-# Single complex precision
+# Single precision complex
if(CBLAS_COMPLEX)
set(ALLOBJ ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND})
endif()
-# Double complex precision
+# Double precision complex
if(CBLAS_COMPLEX16)
set(ALLOBJ ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND})
endif()
# This Makefile compiles the CBLAS routines
-#
+
include ../../make.inc
-#
-# Erase all object and archive files
-#
all: cblaslib
clean:
rm -f *.o a.out core
# Error handling routines for level 2 & 3
-
errhand = cblas_globals.o cblas_xerbla.o xerbla.o
-# Object files of all routines
-alev = $(alev1) $(alev2) $(alev3) $(errhand)
-
#
#
# CBLAS routines
#
#
-#
-# All object files for single real precision
-#
+# Files for level 1 single precision real
slev1 = cblas_srotg.o cblas_srotmg.o cblas_srot.o cblas_srotm.o \
cblas_sswap.o cblas_sscal.o cblas_scopy.o cblas_saxpy.o \
cblas_sdot.o cblas_sdsdot.o cblas_snrm2.o cblas_sasum.o \
cblas_isamax.o sdotsub.o sdsdotsub.o snrm2sub.o sasumsub.o \
isamaxsub.o
-#
-# All object files for double real precision
-#
+# Files for level 1 double precision real
dlev1 = cblas_drotg.o cblas_drotmg.o cblas_drot.o cblas_drotm.o \
cblas_dswap.o cblas_dscal.o cblas_dcopy.o cblas_daxpy.o \
cblas_ddot.o cblas_dsdot.o cblas_dnrm2.o cblas_dasum.o \
cblas_idamax.o ddotsub.o dsdotsub.o dnrm2sub.o \
dasumsub.o idamaxsub.o
-#
-# All object files for single complex precision
-#
+# Files for level 1 single precision complex
clev1 = cblas_cswap.o cblas_cscal.o cblas_csscal.o cblas_ccopy.o \
cblas_caxpy.o cblas_cdotu_sub.o cblas_cdotc_sub.o \
cblas_icamax.o cdotcsub.o cdotusub.o icamaxsub.o
-#
-# All object files for double complex precision
-#
+# Files for level 1 double precision complex
zlev1 = cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \
cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \
cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \
dzasumsub.o dznrm2sub.o izamaxsub.o
-#
-# Common files for single / complex precision
-#
+# Common files for level 1 single precision
sclev1 = cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o
-#
-# All object files
-#
-alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1)
-
-#
-# Make an archive file
-#
-
-# Single real precision
+# Single precision real
slib1: $(slev1) $(sclev1)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev1) $(sclev1)
$(RANLIB) $(CBLASLIB)
-# Double real precision
+# Double precision real
dlib1: $(dlev1)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1)
$(RANLIB) $(CBLASLIB)
-# Single complex precision
+# Single precision complex
clib1: $(clev1) $(sclev1)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev1) $(sclev1)
$(RANLIB) $(CBLASLIB)
-# Double complex precision
+# Double precision complex
zlib1: $(zlev1)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1)
$(RANLIB) $(CBLASLIB)
-# All precisions
-all1: $(alev1)
- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev1)
- $(RANLIB) $(CBLASLIB)
-
#
#
# CBLAS routines
#
#
-#
-# All object files for single real precision
-#
+# Files for level 2 single precision real
slev2 = cblas_sgemv.o cblas_sgbmv.o cblas_sger.o cblas_ssbmv.o cblas_sspmv.o \
cblas_sspr.o cblas_sspr2.o cblas_ssymv.o cblas_ssyr.o cblas_ssyr2.o \
cblas_stbmv.o cblas_stbsv.o cblas_stpmv.o cblas_stpsv.o cblas_strmv.o \
cblas_strsv.o
-#
-# All object files for double real precision
-#
+# Files for level 2 double precision real
dlev2 = cblas_dgemv.o cblas_dgbmv.o cblas_dger.o cblas_dsbmv.o cblas_dspmv.o \
cblas_dspr.o cblas_dspr2.o cblas_dsymv.o cblas_dsyr.o cblas_dsyr2.o \
cblas_dtbmv.o cblas_dtbsv.o cblas_dtpmv.o cblas_dtpsv.o cblas_dtrmv.o \
cblas_dtrsv.o
-#
-# All object files for single complex precision
-#
+# Files for level 2 single precision complex
clev2 = cblas_cgemv.o cblas_cgbmv.o cblas_chemv.o cblas_chbmv.o cblas_chpmv.o \
cblas_ctrmv.o cblas_ctbmv.o cblas_ctpmv.o cblas_ctrsv.o cblas_ctbsv.o \
cblas_ctpsv.o cblas_cgeru.o cblas_cgerc.o cblas_cher.o cblas_cher2.o \
cblas_chpr.o cblas_chpr2.o
-#
-# All object files for double complex precision
-#
+# Files for level 2 double precision complex
zlev2 = cblas_zgemv.o cblas_zgbmv.o cblas_zhemv.o cblas_zhbmv.o cblas_zhpmv.o \
cblas_ztrmv.o cblas_ztbmv.o cblas_ztpmv.o cblas_ztrsv.o cblas_ztbsv.o \
cblas_ztpsv.o cblas_zgeru.o cblas_zgerc.o cblas_zher.o cblas_zher2.o \
cblas_zhpr.o cblas_zhpr2.o
-#
-# All object files
-#
-alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2)
-
-#
-# Make an archive file
-#
-
-# Single real precision
+# Single precision real
slib2: $(slev2) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev2) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Double real precision
+# Double precision real
dlib2: $(dlev2) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev2) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Single complex precision
+# Single precision complex
clib2: $(clev2) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev2) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Double complex precision
+# Double precision complex
zlib2: $(zlev2) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev2) $(errhand)
$(RANLIB) $(CBLASLIB)
-# All precisions
-all2: $(alev2) $(errhand)
- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev2) $(errhand)
- $(RANLIB) $(CBLASLIB)
-
#
#
# CBLAS routines
#
#
-#
-# All object files for single real precision
-#
+# Files for level 3 single precision real
slev3 = cblas_sgemm.o cblas_ssymm.o cblas_ssyrk.o cblas_ssyr2k.o cblas_strmm.o \
cblas_strsm.o
-#
-# All object files for double real precision
-#
+# Files for level 3 double precision real
dlev3 = cblas_dgemm.o cblas_dsymm.o cblas_dsyrk.o cblas_dsyr2k.o cblas_dtrmm.o \
cblas_dtrsm.o
-#
-# All object files for single complex precision
-#
+# Files for level 3 single precision complex
clev3 = cblas_cgemm.o cblas_csymm.o cblas_chemm.o cblas_cherk.o \
cblas_cher2k.o cblas_ctrmm.o cblas_ctrsm.o cblas_csyrk.o \
cblas_csyr2k.o
-#
-# All object files for double complex precision
-#
+# Files for level 3 double precision complex
zlev3 = cblas_zgemm.o cblas_zsymm.o cblas_zhemm.o cblas_zherk.o \
cblas_zher2k.o cblas_ztrmm.o cblas_ztrsm.o cblas_zsyrk.o \
cblas_zsyr2k.o
-#
-# All object files
-#
-alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3)
-
-#
-# Make an archive file
-#
-
-# Single real precision
+# Single precision real
slib3: $(slev3) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev3) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Double real precision
+# Double precision real
dlib3: $(dlev3) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev3) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Single complex precision
+# Single precision complex
clib3: $(clev3) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev3) $(errhand)
$(RANLIB) $(CBLASLIB)
-# Single complex precision
+# Double precision complex
zlib3: $(zlev3) $(errhand)
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev3) $(errhand)
$(RANLIB) $(CBLASLIB)
-# All precisions
+
+alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1)
+alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2)
+alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3)
+
+# All level 1
+all1: $(alev1)
+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev1)
+ $(RANLIB) $(CBLASLIB)
+
+# All level 2
+all2: $(alev2) $(errhand)
+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev2) $(errhand)
+ $(RANLIB) $(CBLASLIB)
+
+# All level 3
all3: $(alev3) $(errhand)
- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev3)
+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev3) $(errhand)
$(RANLIB) $(CBLASLIB)
# All levels and precisions
-cblaslib: $(alev)
- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev)
+cblaslib: $(alev1) $(alev2) $(alev3) $(errhand)
+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev1) $(alev2) $(alev3) $(errhand)
$(RANLIB) $(CBLASLIB)
FRC: