Optimize spec
This commit is contained in:
parent
b4c1409d00
commit
9fac99e3b9
@ -1,84 +0,0 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f *.o libblas.a libblas.so*
|
||||
|
||||
SBLAS1= isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
|
||||
srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
|
||||
|
||||
CBLAS1= scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
|
||||
cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
|
||||
|
||||
DBLAS1= idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
|
||||
drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
|
||||
|
||||
ZBLAS1= dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
|
||||
zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
|
||||
|
||||
CB1AUX= isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
|
||||
|
||||
ZB1AUX= idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
|
||||
|
||||
ALLBLAS=lsame.o xerbla.o xerbla_array.o
|
||||
|
||||
SBLAS2= sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
|
||||
strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
|
||||
sger.o ssyr.o sspr.o ssyr2.o sspr2.o
|
||||
|
||||
CBLAS2= cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
|
||||
ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
|
||||
cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
|
||||
|
||||
DBLAS2= dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
|
||||
dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
|
||||
dger.o dsyr.o dspr.o dsyr2.o dspr2.o
|
||||
|
||||
ZBLAS2= zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
|
||||
ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
|
||||
zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o \
|
||||
|
||||
SBLAS3= sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o
|
||||
|
||||
CBLAS3= cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
|
||||
chemm.o cherk.o cher2k.o
|
||||
|
||||
DBLAS3= dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
|
||||
|
||||
ZBLAS3= zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
|
||||
zhemm.o zherk.o zher2k.o
|
||||
|
||||
OBJS= $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
|
||||
$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) $(ZBLAS2) $(ZBLAS3) \
|
||||
$(ALLBLAS)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ar ruv libblas.a $(OBJS)
|
||||
ranlib libblas.a
|
||||
else
|
||||
ar ruv libblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
||||
sort -n blas-static-prefix.def.dirty | uniq > blas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLPREFIX).a libblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).a
|
||||
mv libblas$(SYMBOLPREFIX).a.fixed libblas$(SYMBOLPREFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
|
||||
sort -n blas-prefix.def.dirty | uniq > blas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLPREFIX).so.@LONGVER@ libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
endif
|
||||
@ -1,99 +0,0 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f *.o libcblas.a libcblas.so*
|
||||
|
||||
ERRHAND= cblas_globals.o cblas_xerbla.o xerbla.o
|
||||
|
||||
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
|
||||
|
||||
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.f dsdotsub.o dnrm2sub.o \
|
||||
dasumsub.o idamaxsub.o
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
SCLEV1= cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
SLEV3= cblas_sgemm.o cblas_ssymm.o cblas_ssyrk.o cblas_ssyr2k.o cblas_strmm.o \
|
||||
cblas_strsm.o
|
||||
|
||||
DLEV3= cblas_dgemm.o cblas_dsymm.o cblas_dsyrk.o cblas_dsyr2k.o cblas_dtrmm.o \
|
||||
cblas_dtrsm.o
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
OBJS= $(SLEV1) $(DLEV1) $(CLEV1) $(ZLEV1) $(SCLEV1) $(SLEV2) $(DLEV2) $(CLEV2) \
|
||||
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ar ruv libcblas.a $(OBJS)
|
||||
ranlib libcblas.a
|
||||
else
|
||||
ar ruv libcblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libcblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libcblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
||||
sort -n cblas-static-prefix.def.dirty | uniq > cblas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLPREFIX).a libcblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).a
|
||||
mv libcblas$(SYMBOLPREFIX).a.fixed libcblas$(SYMBOLPREFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libcblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libcblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
|
||||
sort -n cblas-prefix.def.dirty | uniq > cblas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLPREFIX).so.@LONGVER@ libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
endif
|
||||
|
||||
470
Makefile.lapack
470
Makefile.lapack
@ -1,470 +0,0 @@
|
||||
include ../make.inc
|
||||
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f *.o liblapack* DEPRECATED/*.o
|
||||
|
||||
SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
|
||||
sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
|
||||
sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
|
||||
sgels.o sgelsd.o sgelss.o sgelsy.o sgeql2.o sgeqlf.o \
|
||||
sgeqp3.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o sgerq2.o sgerqf.o \
|
||||
sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvdx.o sgesvx.o sgetc2.o sgetf2.o \
|
||||
sgetrf2.o sgetri.o \
|
||||
sggbak.o sggbal.o \
|
||||
sgges.o sgges3.o sggesx.o sggev.o sggev3.o sggevx.o \
|
||||
sggglm.o sgghrd.o sgghd3.o sgglse.o sggqrf.o \
|
||||
sggrqf.o sggsvd3.o sggsvp3.o sgtcon.o sgtrfs.o sgtsv.o \
|
||||
sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
|
||||
shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
|
||||
slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
|
||||
slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
|
||||
slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
|
||||
slansy.o slantb.o slantp.o slantr.o slanv2.o \
|
||||
slapll.o slapmt.o \
|
||||
slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \
|
||||
slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \
|
||||
slaqtr.o slar1v.o slar2v.o ilaslr.o ilaslc.o \
|
||||
slarf.o slarfb.o slarfg.o slarfgp.o slarft.o slarfx.o slarfy.o slargv.o \
|
||||
slarrv.o slartv.o \
|
||||
slarz.o slarzb.o slarzt.o slaswp.o slasy2.o \
|
||||
slasyf.o slasyf_rook.o slasyf_rk.o slasyf_aa.o \
|
||||
slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o \
|
||||
slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
|
||||
sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
|
||||
sorgrq.o sorgtr.o sorm2l.o sorm2r.o sorm22.o \
|
||||
sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
|
||||
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||
spbstf.o spbsv.o spbsvx.o \
|
||||
spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
|
||||
sposvx.o spotf2.o spotrf2.o spotri.o spstrf.o spstf2.o \
|
||||
sppcon.o sppequ.o \
|
||||
spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
|
||||
spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
|
||||
ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \
|
||||
ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \
|
||||
sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \
|
||||
ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \
|
||||
sstevx.o ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \
|
||||
ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \
|
||||
ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytri2.o ssytri2x.o \
|
||||
ssyswapr.o ssytrs.o ssytrs2.o \
|
||||
ssyconv.o ssyconvf.o ssyconvf_rook.o \
|
||||
ssytf2_rook.o ssytrf_rook.o ssytrs_rook.o \
|
||||
ssytri_rook.o ssycon_rook.o ssysv_rook.o \
|
||||
ssytf2_rk.o ssytrf_rk.o ssytrs_3.o \
|
||||
ssytri_3.o ssytri_3x.o ssycon_3.o ssysv_rk.o \
|
||||
ssysv_aa.o ssytrf_aa.o ssytrs_aa.o \
|
||||
ssysv_aa_2stage.o ssytrf_aa_2stage.o ssytrs_aa_2stage.o \
|
||||
stbcon.o \
|
||||
stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
|
||||
stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
|
||||
stptrs.o \
|
||||
strcon.o strevc.o strevc3.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \
|
||||
strti2.o strtri.o strtrs.o stzrzf.o sstemr.o \
|
||||
slansf.o spftrf.o spftri.o spftrs.o ssfrk.o stfsm.o stftri.o stfttp.o \
|
||||
stfttr.o stpttf.o stpttr.o strttf.o strttp.o \
|
||||
sgejsv.o sgesvj.o sgsvj0.o sgsvj1.o \
|
||||
sgeequb.o ssyequb.o spoequb.o sgbequb.o \
|
||||
sbbcsd.o slapmr.o sorbdb.o sorbdb1.o sorbdb2.o sorbdb3.o sorbdb4.o \
|
||||
sorbdb5.o sorbdb6.o sorcsd.o sorcsd2by1.o \
|
||||
sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \
|
||||
stpqrt.o stpqrt2.o stpmqrt.o stprfb.o \
|
||||
sgelqt.o sgelqt3.o sgemlqt.o \
|
||||
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
|
||||
sgelq.o slaswlq.o slamswlq.o sgemlq.o \
|
||||
stplqt.o stplqt2.o stpmlqt.o \
|
||||
ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \
|
||||
ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.o \
|
||||
ssbev_2stage.o ssbevx_2stage.o ssbevd_2stage.o ssygv_2stage.o \
|
||||
DEPRECATED/sgegs.o DEPRECATED/sgegv.o DEPRECATED/sgeqpf.o DEPRECATED/sgelsx.o \
|
||||
DEPRECATED/sggsvd.o DEPRECATED/sggsvp.o DEPRECATED/slahrd.o DEPRECATED/slatzm.o \
|
||||
DEPRECATED/stzrqf.o
|
||||
|
||||
DSLASRC = spotrs.o sgetrs.o spotrf.o sgetrf.o
|
||||
|
||||
CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
||||
cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
|
||||
cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
|
||||
cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
|
||||
cgels.o cgelsd.o cgelss.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
|
||||
cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o cgerq2.o cgerqf.o \
|
||||
cgesc2.o cgesdd.o cgesv.o cgesvd.o cgesvdx.o \
|
||||
cgesvj.o cgejsv.o cgsvj0.o cgsvj1.o \
|
||||
cgesvx.o cgetc2.o cgetf2.o cgetrf2.o \
|
||||
cgetri.o \
|
||||
cggbak.o cggbal.o \
|
||||
cgges.o cgges3.o cggesx.o cggev.o cggev3.o cggevx.o \
|
||||
cggglm.o cgghrd.o cgghd3.o cgglse.o cggqrf.o cggrqf.o \
|
||||
cggsvd3.o cggsvp3.o \
|
||||
cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \
|
||||
chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \
|
||||
checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \
|
||||
chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \
|
||||
chetf2.o chetrd.o \
|
||||
chetrf.o chetri.o chetri2.o chetri2x.o cheswapr.o \
|
||||
chetrs.o chetrs2.o \
|
||||
chetf2_rook.o chetrf_rook.o chetri_rook.o \
|
||||
chetrs_rook.o checon_rook.o chesv_rook.o \
|
||||
chetf2_rk.o chetrf_rk.o chetri_3.o chetri_3x.o \
|
||||
chetrs_3.o checon_3.o chesv_rk.o \
|
||||
chesv_aa.o chetrf_aa.o chetrs_aa.o \
|
||||
chesv_aa_2stage.o chetrf_aa_2stage.o chetrs_aa_2stage.o \
|
||||
chgeqz.o chpcon.o chpev.o chpevd.o \
|
||||
chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
|
||||
chpsvx.o \
|
||||
chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \
|
||||
clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
|
||||
claed0.o claed7.o claed8.o \
|
||||
claein.o claesy.o claev2.o clags2.o clagtm.o \
|
||||
clahef.o clahef_rook.o clahef_rk.o clahef_aa.o clahqr.o \
|
||||
clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
|
||||
clanhb.o clanhe.o \
|
||||
clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
|
||||
clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \
|
||||
claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \
|
||||
claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \
|
||||
claqsp.o claqsy.o clar1v.o clar2v.o ilaclr.o ilaclc.o \
|
||||
clarf.o clarfb.o clarfg.o clarfgp.o clarft.o \
|
||||
clarfx.o clarfy.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \
|
||||
clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \
|
||||
claswp.o clasyf.o clasyf_rook.o clasyf_rk.o clasyf_aa.o \
|
||||
clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
|
||||
clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
|
||||
cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
|
||||
cposv.o cposvx.o cpotf2.o cpotrf2.o cpotri.o cpstrf.o cpstf2.o \
|
||||
cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
|
||||
cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
|
||||
crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
|
||||
cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
|
||||
cstegr.o cstein.o csteqr.o csycon.o csymv.o \
|
||||
csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o \
|
||||
csytri2.o csytri2x.o csyswapr.o \
|
||||
csytrs.o csytrs2.o \
|
||||
csyconv.o csyconvf.o csyconvf_rook.o \
|
||||
csytf2_rook.o csytrf_rook.o csytrs_rook.o \
|
||||
csytri_rook.o csycon_rook.o csysv_rook.o \
|
||||
csytf2_rk.o csytrf_rk.o csytrf_aa.o csytrs_3.o csytrs_aa.o \
|
||||
csytri_3.o csytri_3x.o csycon_3.o csysv_rk.o csysv_aa.o \
|
||||
csysv_aa_2stage.o csytrf_aa_2stage.o csytrs_aa_2stage.o \
|
||||
ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
|
||||
ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
|
||||
ctprfs.o ctptri.o \
|
||||
ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
|
||||
ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrzf.o cung2l.o cung2r.o \
|
||||
cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
|
||||
cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \
|
||||
cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
|
||||
cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
|
||||
chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
|
||||
ctfttr.o ctpttf.o ctpttr.o ctrttf.o ctrttp.o \
|
||||
cgeequb.o cgbequb.o csyequb.o cpoequb.o cheequb.o \
|
||||
cbbcsd.o clapmr.o cunbdb.o cunbdb1.o cunbdb2.o cunbdb3.o cunbdb4.o \
|
||||
cunbdb5.o cunbdb6.o cuncsd.o cuncsd2by1.o \
|
||||
cgeqrt.o cgeqrt2.o cgeqrt3.o cgemqrt.o \
|
||||
ctpqrt.o ctpqrt2.o ctpmqrt.o ctprfb.o \
|
||||
cgelqt.o cgelqt3.o cgemlqt.o \
|
||||
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
|
||||
cgelq.o claswlq.o clamswlq.o cgemlq.o \
|
||||
ctplqt.o ctplqt2.o ctpmlqt.o \
|
||||
chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \
|
||||
cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.o \
|
||||
chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o \
|
||||
DEPRECATED/cgegs.o DEPRECATED/cgegv.o \
|
||||
DEPRECATED/cgeqpf.o DEPRECATED/cgelsx.o DEPRECATED/cggsvd.o \
|
||||
DEPRECATED/cggsvp.o DEPRECATED/clahrd.o DEPRECATED/clatzm.o DEPRECATED/ctzrqf.o
|
||||
|
||||
DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
|
||||
dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
|
||||
dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
|
||||
dgels.o dgelsd.o dgelss.o dgelsy.o dgeql2.o dgeqlf.o \
|
||||
dgeqp3.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o dgerq2.o dgerqf.o \
|
||||
dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvdx.o dgesvx.o dgetc2.o dgetf2.o \
|
||||
dgetrf.o dgetrf2.o dgetri.o \
|
||||
dgetrs.o dggbak.o dggbal.o \
|
||||
dgges.o dgges3.o dggesx.o dggev.o dggev3.o dggevx.o \
|
||||
dggglm.o dgghrd.o dgghd3.o dgglse.o dggqrf.o \
|
||||
dggrqf.o dggsvd3.o dggsvp3.o dgtcon.o dgtrfs.o dgtsv.o \
|
||||
dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
|
||||
dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
|
||||
dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
|
||||
dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
|
||||
dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
|
||||
dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
|
||||
dlapll.o dlapmt.o \
|
||||
dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \
|
||||
dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \
|
||||
dlaqtr.o dlar1v.o dlar2v.o iladlr.o iladlc.o \
|
||||
dlarf.o dlarfb.o dlarfg.o dlarfgp.o dlarft.o dlarfx.o dlarfy.o \
|
||||
dlargv.o dlarrv.o dlartv.o \
|
||||
dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o \
|
||||
dlasyf.o dlasyf_rook.o dlasyf_rk.o dlasyf_aa.o \
|
||||
dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.o \
|
||||
dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
|
||||
dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
|
||||
dorgrq.o dorgtr.o dorm2l.o dorm2r.o dorm22.o \
|
||||
dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
|
||||
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||
dpbstf.o dpbsv.o dpbsvx.o \
|
||||
dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
|
||||
dposvx.o dpotf2.o dpotrf.o dpotrf2.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \
|
||||
dppcon.o dppequ.o \
|
||||
dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
|
||||
dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
|
||||
dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \
|
||||
dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \
|
||||
dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \
|
||||
dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \
|
||||
dstevx.o dsycon.o dsyev.o dsyevd.o dsyevr.o \
|
||||
dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \
|
||||
dsysv.o dsysvx.o \
|
||||
dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytrs.o dsytrs2.o \
|
||||
dsytri2.o dsytri2x.o dsyswapr.o \
|
||||
dsyconv.o dsyconvf.o dsyconvf_rook.o \
|
||||
dsytf2_rook.o dsytrf_rook.o dsytrs_rook.o \
|
||||
dsytri_rook.o dsycon_rook.o dsysv_rook.o \
|
||||
dsytf2_rk.o dsytrf_rk.o dsytrs_3.o \
|
||||
dsytri_3.o dsytri_3x.o dsycon_3.o dsysv_rk.o \
|
||||
dsysv_aa.o dsytrf_aa.o dsytrs_aa.o \
|
||||
dsysv_aa_2stage.o dsytrf_aa_2stage.o dsytrs_aa_2stage.o \
|
||||
dtbcon.o \
|
||||
dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
|
||||
dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
|
||||
dtptrs.o \
|
||||
dtrcon.o dtrevc.o dtrevc3.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \
|
||||
dtrti2.o dtrtri.o dtrtrs.o dtzrzf.o dstemr.o \
|
||||
dsgesv.o dsposv.o dlag2s.o slag2d.o dlat2s.o \
|
||||
dlansf.o dpftrf.o dpftri.o dpftrs.o dsfrk.o dtfsm.o dtftri.o dtfttp.o \
|
||||
dtfttr.o dtpttf.o dtpttr.o dtrttf.o dtrttp.o \
|
||||
dgejsv.o dgesvj.o dgsvj0.o dgsvj1.o \
|
||||
dgeequb.o dsyequb.o dpoequb.o dgbequb.o \
|
||||
dbbcsd.o dlapmr.o dorbdb.o dorbdb1.o dorbdb2.o dorbdb3.o dorbdb4.o \
|
||||
dorbdb5.o dorbdb6.o dorcsd.o dorcsd2by1.o \
|
||||
dgeqrt.o dgeqrt2.o dgeqrt3.o dgemqrt.o \
|
||||
dtpqrt.o dtpqrt2.o dtpmqrt.o dtprfb.o \
|
||||
dgelqt.o dgelqt3.o dgemlqt.o \
|
||||
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
|
||||
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
|
||||
dtplqt.o dtplqt2.o dtpmlqt.o \
|
||||
dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \
|
||||
dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.o \
|
||||
dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o \
|
||||
DEPRECATED/dgegs.o DEPRECATED/dgegv.o \
|
||||
DEPRECATED/dgeqpf.o DEPRECATED/dgelsx.o DEPRECATED/dggsvd.o \
|
||||
DEPRECATED/dggsvp.o DEPRECATED/dlahrd.o DEPRECATED/dlatzm.o DEPRECATED/dtzrqf.o
|
||||
|
||||
ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
||||
zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
|
||||
zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
|
||||
zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
|
||||
zgels.o zgelsd.o zgelss.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
|
||||
zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \
|
||||
zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvdx.o zgesvx.o \
|
||||
zgesvj.o zgejsv.o zgsvj0.o zgsvj1.o \
|
||||
zgetc2.o zgetf2.o zgetrf.o zgetrf2.o \
|
||||
zgetri.o zgetrs.o \
|
||||
zggbak.o zggbal.o \
|
||||
zgges.o zgges3.o zggesx.o zggev.o zggev3.o zggevx.o \
|
||||
zggglm.o zgghrd.o zgghd3.o zgglse.o zggqrf.o zggrqf.o \
|
||||
zggsvd3.o zggsvp3.o \
|
||||
zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \
|
||||
zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \
|
||||
zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \
|
||||
zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \
|
||||
zhetf2.o zhetrd.o \
|
||||
zhetrf.o zhetri.o zhetri2.o zhetri2x.o zheswapr.o \
|
||||
zhetrs.o zhetrs2.o \
|
||||
zhetf2_rook.o zhetrf_rook.o zhetri_rook.o \
|
||||
zhetrs_rook.o zhecon_rook.o zhesv_rook.o \
|
||||
zhetf2_rk.o zhetrf_rk.o zhetri_3.o zhetri_3x.o \
|
||||
zhetrs_3.o zhecon_3.o zhesv_rk.o \
|
||||
zhesv_aa.o zhetrf_aa.o zhetrs_aa.o \
|
||||
zhesv_aa_2stage.o zhetrf_aa_2stage.o zhetrs_aa_2stage.o \
|
||||
zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
|
||||
zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
|
||||
zhpsvx.o \
|
||||
zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \
|
||||
zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
|
||||
zlaed0.o zlaed7.o zlaed8.o \
|
||||
zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
|
||||
zlahef.o zlahef_rook.o zlahef_rk.o zlahef_aa.o zlahqr.o \
|
||||
zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
|
||||
zlangt.o zlanhb.o \
|
||||
zlanhe.o \
|
||||
zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \
|
||||
zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \
|
||||
zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \
|
||||
zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \
|
||||
zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o ilazlr.o ilazlc.o \
|
||||
zlarcm.o zlarf.o zlarfb.o \
|
||||
zlarfg.o zlarfgp.o zlarft.o \
|
||||
zlarfx.o zlarfy.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
|
||||
zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
|
||||
zlassq.o zlaswp.o zlasyf.o zlasyf_rook.o zlasyf_rk.o zlasyf_aa.o \
|
||||
zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlauu2.o \
|
||||
zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
|
||||
zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
|
||||
zposv.o zposvx.o zpotf2.o zpotrf.o zpotrf2.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \
|
||||
zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
|
||||
zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
|
||||
zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
|
||||
zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
|
||||
zstegr.o zstein.o zsteqr.o zsycon.o zsymv.o \
|
||||
zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o \
|
||||
zsytri2.o zsytri2x.o zsyswapr.o \
|
||||
zsytrs.o zsytrs2.o \
|
||||
zsyconv.o zsyconvf.o zsyconvf_rook.o \
|
||||
zsytf2_rook.o zsytrf_rook.o zsytrs_rook.o zsytrs_aa.o \
|
||||
zsytri_rook.o zsycon_rook.o zsysv_rook.o \
|
||||
zsytf2_rk.o zsytrf_rk.o zsytrf_aa.o zsytrs_3.o \
|
||||
zsysv_aa_2stage.o zsytrf_aa_2stage.o zsytrs_aa_2stage.o \
|
||||
zsytri_3.o zsytri_3x.o zsycon_3.o zsysv_rk.o zsysv_aa.o \
|
||||
ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \
|
||||
ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \
|
||||
ztprfs.o ztptri.o \
|
||||
ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
|
||||
ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrzf.o zung2l.o \
|
||||
zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
|
||||
zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \
|
||||
zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
|
||||
zunmtr.o zupgtr.o \
|
||||
zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
||||
zcgesv.o zcposv.o zlag2c.o clag2z.o zlat2c.o \
|
||||
zhfrk.o ztfttp.o zlanhf.o zpftrf.o zpftri.o zpftrs.o ztfsm.o ztftri.o \
|
||||
ztfttr.o ztpttf.o ztpttr.o ztrttf.o ztrttp.o \
|
||||
zgeequb.o zgbequb.o zsyequb.o zpoequb.o zheequb.o \
|
||||
zbbcsd.o zlapmr.o zunbdb.o zunbdb1.o zunbdb2.o zunbdb3.o zunbdb4.o \
|
||||
zunbdb5.o zunbdb6.o zuncsd.o zuncsd2by1.o \
|
||||
zgeqrt.o zgeqrt2.o zgeqrt3.o zgemqrt.o \
|
||||
ztpqrt.o ztpqrt2.o ztpmqrt.o ztprfb.o \
|
||||
ztplqt.o ztplqt2.o ztpmlqt.o \
|
||||
zgelqt.o zgelqt3.o zgemlqt.o \
|
||||
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
|
||||
zgelq.o zlaswlq.o zlamswlq.o zgemlq.o \
|
||||
zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \
|
||||
zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.o \
|
||||
zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o \
|
||||
|
||||
SCLAUX = sbdsdc.o \
|
||||
sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
||||
slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \
|
||||
slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \
|
||||
slagts.o slamrg.o slanst.o \
|
||||
slapy2.o slapy3.o slarnv.o \
|
||||
slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \
|
||||
slarrk.o slarrr.o slaneg.o \
|
||||
slartg.o slaruv.o slas2.o slascl.o \
|
||||
slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \
|
||||
slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \
|
||||
slaset.o slasq1.o slasq2.o slasq3.o slasq4.o slasq5.o slasq6.o \
|
||||
slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \
|
||||
ssteqr.o ssterf.o slaisnan.o sisnan.o \
|
||||
slartgp.o slartgs.o \
|
||||
../INSTALL/slamch.o ../INSTALL/second_INT_ETIME.o \
|
||||
DEPRECATED/zgegs.o DEPRECATED/zgegv.o \
|
||||
DEPRECATED/zgeqpf.o DEPRECATED/zgelsx.o DEPRECATED/zggsvd.o \
|
||||
DEPRECATED/zggsvp.o DEPRECATED/zlahrd.o DEPRECATED/zlatzm.o DEPRECATED/ztzrqf.o
|
||||
|
||||
DZLAUX = dbdsdc.o \
|
||||
dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \
|
||||
dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \
|
||||
dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \
|
||||
dlagts.o dlamrg.o dlanst.o \
|
||||
dlapy2.o dlapy3.o dlarnv.o \
|
||||
dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \
|
||||
dlarrk.o dlarrr.o dlaneg.o \
|
||||
dlartg.o dlaruv.o dlas2.o dlascl.o \
|
||||
dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \
|
||||
dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \
|
||||
dlaset.o dlasq1.o dlasq2.o dlasq3.o dlasq4.o dlasq5.o dlasq6.o \
|
||||
dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
|
||||
dsteqr.o dsterf.o dlaisnan.o disnan.o \
|
||||
dlartgp.o dlartgs.o \
|
||||
../INSTALL/dlamch.o ../INSTALL/dsecnd_INT_ETIME.o
|
||||
|
||||
ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o iparmq.o iparam2stage.o \
|
||||
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
|
||||
../INSTALL/ilaver.o ../INSTALL/lsame.o xerbla.o xerbla_array.o
|
||||
|
||||
SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
|
||||
sla_gercond.o sla_gerpvgrw.o ssysvxx.o ssyrfsx.o \
|
||||
sla_syrfsx_extended.o sla_syamv.o sla_syrcond.o sla_syrpvgrw.o \
|
||||
sposvxx.o sporfsx.o sla_porfsx_extended.o sla_porcond.o \
|
||||
sla_porpvgrw.o sgbsvxx.o sgbrfsx.o sla_gbrfsx_extended.o \
|
||||
sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \
|
||||
slascl2.o sla_wwaddw.o
|
||||
|
||||
DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \
|
||||
dla_gercond.o dla_gerpvgrw.o dsysvxx.o dsyrfsx.o \
|
||||
dla_syrfsx_extended.o dla_syamv.o dla_syrcond.o dla_syrpvgrw.o \
|
||||
dposvxx.o dporfsx.o dla_porfsx_extended.o dla_porcond.o \
|
||||
dla_porpvgrw.o dgbsvxx.o dgbrfsx.o dla_gbrfsx_extended.o \
|
||||
dla_gbamv.o dla_gbrcond.o dla_gbrpvgrw.o dla_lin_berr.o dlarscl2.o \
|
||||
dlascl2.o dla_wwaddw.o
|
||||
|
||||
CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
|
||||
cla_gercond_c.o cla_gercond_x.o cla_gerpvgrw.o \
|
||||
csysvxx.o csyrfsx.o cla_syrfsx_extended.o cla_syamv.o \
|
||||
cla_syrcond_c.o cla_syrcond_x.o cla_syrpvgrw.o \
|
||||
cposvxx.o cporfsx.o cla_porfsx_extended.o \
|
||||
cla_porcond_c.o cla_porcond_x.o cla_porpvgrw.o \
|
||||
cgbsvxx.o cgbrfsx.o cla_gbrfsx_extended.o cla_gbamv.o \
|
||||
cla_gbrcond_c.o cla_gbrcond_x.o cla_gbrpvgrw.o \
|
||||
chesvxx.o cherfsx.o cla_herfsx_extended.o cla_heamv.o \
|
||||
cla_hercond_c.o cla_hercond_x.o cla_herpvgrw.o \
|
||||
cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o
|
||||
|
||||
ZCLASRC = cpotrs.o cgetrs.o cpotrf.o cgetrf.o
|
||||
|
||||
ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \
|
||||
zla_gercond_c.o zla_gercond_x.o zla_gerpvgrw.o zsysvxx.o zsyrfsx.o \
|
||||
zla_syrfsx_extended.o zla_syamv.o zla_syrcond_c.o zla_syrcond_x.o \
|
||||
zla_syrpvgrw.o zposvxx.o zporfsx.o zla_porfsx_extended.o \
|
||||
zla_porcond_c.o zla_porcond_x.o zla_porpvgrw.o zgbsvxx.o zgbrfsx.o \
|
||||
zla_gbrfsx_extended.o zla_gbamv.o zla_gbrcond_c.o zla_gbrcond_x.o \
|
||||
zla_gbrpvgrw.o zhesvxx.o zherfsx.o zla_herfsx_extended.o \
|
||||
zla_heamv.o zla_hercond_c.o zla_hercond_x.o zla_herpvgrw.o \
|
||||
zla_lin_berr.o zlarscl2.o zlascl2.o zla_wwaddw.o
|
||||
|
||||
ALLXAUX =
|
||||
|
||||
ALLOBJ=$(SLASRC) $(DLASRC) $(CLASRC) $(ZLASRC) $(SCLAUX) $(DZLAUX) $(ALLAUX) $(DSLASRC) $(ZCLASRC)
|
||||
|
||||
ifdef USEXBLAS
|
||||
ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
|
||||
endif
|
||||
|
||||
static: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack.a
|
||||
else
|
||||
ar ruv liblapack$(SYMBOLPREFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack$(SYMBOLPREFIX).a
|
||||
for i in `nm liblapack$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
||||
sort -n lapack-static-prefix.def.dirty | uniq > lapack-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLPREFIX).a liblapack$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).a
|
||||
mv liblapack$(SYMBOLPREFIX).a.fixed liblapack$(SYMBOLPREFIX).a
|
||||
endif
|
||||
|
||||
shared: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLPREFIX).so.@SHORTVER@ -o liblapack$(SYMBOLPREFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws liblapack$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
|
||||
sort -n lapack-prefix.def.dirty | uniq > lapack-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLPREFIX).so.@LONGVER@ liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
endif
|
||||
@ -1,21 +0,0 @@
|
||||
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.shared lapack-3.7.1/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.7.1/INSTALL/make.inc.gfortran.shared 2017-08-01 11:46:10.665067382 -0400
|
||||
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:46:10.667067346 -0400
|
||||
@@ -83,3 +83,4 @@ CBLASLIB = ../../libcblas.a
|
||||
LAPACKLIB = liblapack.a
|
||||
TMGLIB = libtmglib.a
|
||||
LAPACKELIB = liblapacke.a
|
||||
+SHLIB_LAPACKE = liblapacke.so
|
||||
diff -up lapack-3.7.1/LAPACKE/Makefile.shared lapack-3.7.1/LAPACKE/Makefile
|
||||
--- lapack-3.7.1/LAPACKE/Makefile.shared 2017-08-01 11:46:10.668067328 -0400
|
||||
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:47:23.649755395 -0400
|
||||
@@ -51,6 +51,9 @@ lapacke: include/lapacke_mangling.h
|
||||
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
|
||||
cp $< $@
|
||||
|
||||
+shlib: lapacke
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
|
||||
+
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
diff -up lapack-3.7.1/LAPACKE/Makefile.tmglib lapack-3.7.1/LAPACKE/Makefile
|
||||
--- lapack-3.7.1/LAPACKE/Makefile.tmglib 2017-08-01 11:49:38.704327630 -0400
|
||||
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:50:51.487019275 -0400
|
||||
@@ -52,7 +52,7 @@ include/lapacke_mangling.h: include/lapa
|
||||
cp $< $@
|
||||
|
||||
shlib: lapacke
|
||||
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack ../TESTING/MATGEN/*.o
|
||||
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
||||
diff -up lapack-3.7.1/LAPACKE/src/Makefile.tmglib lapack-3.7.1/LAPACKE/src/Makefile
|
||||
diff -up lapack-3.7.1/Makefile.tmglib lapack-3.7.1/Makefile
|
||||
--- lapack-3.7.1/Makefile.tmglib 2017-08-01 11:49:38.705327612 -0400
|
||||
+++ lapack-3.7.1/Makefile 2017-08-01 11:52:11.149587246 -0400
|
||||
@@ -20,7 +20,7 @@ cblaslib:
|
||||
lapacklib:
|
||||
$(MAKE) -C SRC
|
||||
|
||||
-lapackelib:
|
||||
+lapackelib: tmglib
|
||||
$(MAKE) -C LAPACKE
|
||||
|
||||
tmglib:
|
||||
@ -1,15 +0,0 @@
|
||||
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.fedora lapack-3.7.1/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.7.1/INSTALL/make.inc.gfortran.fedora 2017-08-01 11:44:51.631843862 -0400
|
||||
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:45:32.001809404 -0400
|
||||
@@ -20,9 +20,9 @@ CFLAGS = -O3
|
||||
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
|
||||
#
|
||||
FORTRAN = gfortran
|
||||
-OPTS = -O2 -frecursive
|
||||
+# OPTS = -O2 -frecursive
|
||||
DRVOPTS = $(OPTS)
|
||||
-NOOPT = -O0 -frecursive
|
||||
+NOOPT =
|
||||
|
||||
# Define LOADER and LOADOPTS to refer to the loader and desired
|
||||
# load options for your machine.
|
||||
305
lapack.spec
305
lapack.spec
@ -2,33 +2,17 @@
|
||||
%global shortver 3
|
||||
%global mediumver %{shortver}.8
|
||||
|
||||
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
||||
%global arch64 1
|
||||
%else
|
||||
%global arch64 0
|
||||
%endif
|
||||
|
||||
Name: lapack
|
||||
Version: %{mediumver}.0
|
||||
Release: 11
|
||||
Release: 12
|
||||
Summary: The LAPACK libraries for numerical linear algebra.
|
||||
License: BSD
|
||||
URL: http://www.netlib.org/lapack/
|
||||
Source0: http://www.netlib.org/lapack/%{name}-%{version}.tar.gz
|
||||
Source1: http://www.netlib.org/lapack/manpages.tgz
|
||||
Source2: http://www.netlib.org/lapack/lapackqref.ps
|
||||
Source3: http://www.netlib.org/blas/blasqr.ps
|
||||
# These Makefiles are from fedora: https://src.fedoraproject.org/rpms/lapack/tree/f29
|
||||
Source4: Makefile.blas
|
||||
Source5: Makefile.lapack
|
||||
Source6: Makefile.cblas
|
||||
|
||||
# These patches are from fedora: https://src.fedoraproject.org/rpms/lapack/tree/f29
|
||||
# These patches are used for modifying Makefile, we use fedora's Makefile, so we also keep these patches
|
||||
Patch1: lapack-3.7.1-make.inc.patch
|
||||
Patch2: lapack-3.7.1-lapacke-shared.patch
|
||||
Patch3: lapack-3.7.1-lapacke-tmglib.patch
|
||||
Patch4: lapack-3.8.0-missing-aawork.patch
|
||||
Patch1: lapack-3.8.0-missing-aawork.patch
|
||||
|
||||
BuildRequires: git gcc-gfortran
|
||||
Provides: blas = %{version}-%{release}
|
||||
@ -68,48 +52,12 @@ Summary: Help manual for %{name}
|
||||
%description help
|
||||
The %{name}-help package conatins man manual etc
|
||||
|
||||
%if 0%{?arch64}
|
||||
%package -n lapack64
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Provides: blas64
|
||||
Obsoletes: blas64
|
||||
|
||||
%description -n lapack64
|
||||
%_description
|
||||
This build has 64bit INTEGER support.\
|
||||
|
||||
%package -n lapack64-devel
|
||||
Summary: LAPACK development libraries (64bit INTEGER)
|
||||
Requires: %{name}64 = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Provides: %{name}64-static = %{version}-%{release}
|
||||
Obsoletes: %{name}64-static
|
||||
Provides: blas64-devel = %{version}-%{release}
|
||||
Obsoletes: blas64-devel
|
||||
Provides: blas64-static = %{version}-%{release}
|
||||
Obsoletes: blas64-static
|
||||
|
||||
%description -n lapack64-devel
|
||||
LAPACK development libraries (shared, 64bit INTEGER).
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -a 0 -a 1 -p1 -Sgit
|
||||
|
||||
cp -f INSTALL/make.inc.gfortran make.inc
|
||||
cp -f %{SOURCE4} BLAS/SRC/Makefile
|
||||
cp -f %{SOURCE5} SRC/Makefile
|
||||
cp -f %{SOURCE6} CBLAS/src/Makefile
|
||||
|
||||
# Replace with a specific version number
|
||||
sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
|
||||
sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
|
||||
sed -i "s|@SHORTVER@|%{shortver}|g" LAPACKE/Makefile
|
||||
sed -i "s|@SHORTVER@|%{shortver}|g" CBLAS/src/Makefile
|
||||
sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
|
||||
sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
|
||||
sed -i "s|@LONGVER@|%{version}|g" LAPACKE/Makefile
|
||||
sed -i "s|@LONGVER@|%{version}|g" CBLAS/src/Makefile
|
||||
cp -f make.inc.example make.inc
|
||||
sed -i "s|librefblas.a|libblas.a|g" make.inc
|
||||
|
||||
%build
|
||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive"
|
||||
@ -121,178 +69,49 @@ export FC=gfortran
|
||||
# param2: whether to specify the include directory
|
||||
# param3: lib name
|
||||
# param4: object name
|
||||
build() {
|
||||
pushd $1
|
||||
pwd
|
||||
if [ $# -eq 4 ]; then
|
||||
FFLAGS="$RPM_OPT_O_FLAGS" make $4.o
|
||||
fi
|
||||
if [ $2 -eq 1 ]; then
|
||||
FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
else
|
||||
FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
fi
|
||||
cp $3.a ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
make clean
|
||||
|
||||
if [ $# -eq 4 ]; then
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make $4.o
|
||||
fi
|
||||
if [ $2 -eq 1 ]; then
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
else
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
fi
|
||||
cp $3.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
if [ $# -eq 4 ]; then
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make $4.o
|
||||
fi
|
||||
if [ $2 -eq 1 ]; then
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
else
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
fi
|
||||
cp $364_.a ${RPM_BUILD_DIR}/%{name}-%{version}/$364_.a
|
||||
make clean
|
||||
if [ $# -eq 4 ]; then
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make $4.o
|
||||
fi
|
||||
if [ $2 -eq 1 ]; then
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
else
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
fi
|
||||
cp $364_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/$364_.so.%{version}
|
||||
%endif
|
||||
popd
|
||||
|
||||
ln -s $3.so.%{version} $3.so
|
||||
%if 0%{?arch64}
|
||||
ln -s $364_.so.%{version} $364_.so
|
||||
%endif
|
||||
lapack_make()
|
||||
{
|
||||
%make_build cleanlib
|
||||
%make_build $1 \
|
||||
OPTS="%{optflags} -fPIC" \
|
||||
NOOPT="%{optflags} -O0 -fPIC"
|
||||
mv $3$2.a $2_pic.a
|
||||
mkdir shared
|
||||
cd shared
|
||||
ar x ../$2_pic.a
|
||||
cd ..
|
||||
gfortran -shared -Wl,-soname=$2.so.3 -o $2.so.%{version} shared/*.o
|
||||
ln -s $2.so.%{version} $2.so
|
||||
rm -rf shared
|
||||
%make_build cleanlib
|
||||
%make_build $1 \
|
||||
OPTS="%{optflags}" \
|
||||
NOOPT="%{optflags} -O0"
|
||||
}
|
||||
|
||||
# Build BLAS
|
||||
build "BLAS/SRC" 0 "libblas" "dcabs1"
|
||||
|
||||
# Build CBLAS
|
||||
cp CBLAS/include/cblas_mangling_with_flags.h.in CBLAS/include/cblas_mangling.h
|
||||
build "CBLAS/src" 1 "libcblas"
|
||||
#build blas
|
||||
lapack_make blaslib libblas
|
||||
mv libblas.a BLAS/
|
||||
lapack_make lapacklib liblapack
|
||||
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
|
||||
popd
|
||||
|
||||
%if 0%{?arch64}
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
|
||||
popd
|
||||
%endif
|
||||
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
popd
|
||||
|
||||
%if 0%{?arch64}
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
|
||||
popd
|
||||
%endif
|
||||
|
||||
ln -s liblapack.so.%{version} liblapack.so
|
||||
|
||||
%if 0%{?arch64}
|
||||
ln -s liblapack64_.so.%{version} liblapack64_.so
|
||||
%endif
|
||||
|
||||
# Build the lapacke libraries
|
||||
make OPTS="$RPM_OPT_FLAGS -fPIC" NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
|
||||
pushd LAPACKE
|
||||
make clean
|
||||
make CFLAGS="$RPM_OPT_FLAGS" BUILD_DEPRECATED="true" lapacke
|
||||
make clean
|
||||
make CFLAGS="$RPM_OPT_FLAGS -fPIC" BUILD_DEPRECATED="true" LDFLAGS="%{build_ldflags}" shlib
|
||||
cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
popd
|
||||
|
||||
cp -p %{SOURCE2} lapackqref.ps
|
||||
cp -p %{SOURCE3} blasqr.ps
|
||||
cd LAPACKE
|
||||
lapack_make lapacke liblapacke ../
|
||||
mv ../liblapacke.a liblapacke.a
|
||||
cd ..
|
||||
mv LAPACKE/liblapacke* ./
|
||||
mv BLAS/libblas.a ./
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} liblapacke.so.%{version} libblas.a liblapack.a liblapacke.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
|
||||
%if 0%{?arch64}
|
||||
for f in liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} libblas64_.a libcblas64_.a liblapack64_.a liblapack64_pic.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
%endif
|
||||
|
||||
# remove weird man pages
|
||||
pushd man/man3
|
||||
@ -302,10 +121,6 @@ popd
|
||||
find man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > manfiles
|
||||
cp -f man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
|
||||
# Cblas headers
|
||||
mkdir -p %{buildroot}%{_includedir}/cblas/
|
||||
cp -a CBLAS/include/*.h %{buildroot}%{_includedir}/cblas/
|
||||
|
||||
# Lapacke headers
|
||||
mkdir -p %{buildroot}%{_includedir}/lapacke/
|
||||
cp -a LAPACKE/include/*.h %{buildroot}%{_includedir}/lapacke/
|
||||
@ -317,23 +132,10 @@ ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
||||
ln -sf libblas.so.%{version} libblas.so
|
||||
ln -sf libblas.so.%{version} libblas.so.%{shortver}
|
||||
ln -sf libblas.so.%{version} libblas.so.%{mediumver}
|
||||
ln -sf libcblas.so.%{version} libcblas.so
|
||||
ln -sf libcblas.so.%{version} libcblas.so.%{shortver}
|
||||
ln -sf libcblas.so.%{version} libcblas.so.%{mediumver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%if 0%{?arch64}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
|
||||
ln -sf libblas64_.so.%{version} libblas64_.so
|
||||
ln -sf libblas64_.so.%{version} libblas64_.so.%{shortver}
|
||||
ln -sf libblas64_.so.%{version} libblas64_.so.%{mediumver}
|
||||
ln -sf libcblas64_.so.%{version} libcblas64_.so
|
||||
ln -sf libcblas64_.so.%{version} libcblas64_.so.%{shortver}
|
||||
ln -sf libcblas64_.so.%{version} libcblas64_.so.%{mediumver}
|
||||
%endif
|
||||
|
||||
popd
|
||||
|
||||
# pkgconfig
|
||||
@ -342,48 +144,28 @@ cp -a lapack.pc.in %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
%endif
|
||||
|
||||
|
||||
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
%endif
|
||||
|
||||
|
||||
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/lapacke|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
cp -a CBLAS/cblas.pc.in %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/cblas|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
%endif
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%if 0%{?arch64}
|
||||
%post -n lapack64 -p /sbin/ldconfig
|
||||
%postun -n lapack64 -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc lapackqref.ps blasqr.ps
|
||||
%license LICENSE
|
||||
%{_libdir}/liblapack.so.*
|
||||
%{_libdir}/liblapacke.so.*
|
||||
%{_libdir}/libblas.so.*
|
||||
%{_libdir}/libcblas.so.*
|
||||
|
||||
%files help -f manfiles
|
||||
%doc README.md
|
||||
@ -395,15 +177,10 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/pkgconfig/lapack.pc
|
||||
%{_libdir}/pkgconfig/lapacke.pc
|
||||
%{_libdir}/liblapack.a
|
||||
%{_libdir}/liblapack_pic.a
|
||||
%{_libdir}/liblapacke.a
|
||||
%{_includedir}/cblas/
|
||||
%{_libdir}/libblas.so
|
||||
%{_libdir}/libcblas.so
|
||||
%{_libdir}/pkgconfig/blas.pc
|
||||
%{_libdir}/pkgconfig/cblas.pc
|
||||
%{_libdir}/libblas.a
|
||||
%{_libdir}/libcblas.a
|
||||
|
||||
%if 0%{?arch64}
|
||||
%files -n lapack64
|
||||
@ -419,13 +196,13 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/liblapack64_.a
|
||||
%{_libdir}/liblapack64_pic.a
|
||||
%{_libdir}/libblas64_.so
|
||||
%{_libdir}/libcblas64_.so
|
||||
%{_libdir}/pkgconfig/blas64.pc
|
||||
%{_libdir}/pkgconfig/cblas64.pc
|
||||
%{_libdir}/libblas64_.a
|
||||
%{_libdir}/libcblas64_.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jan 20 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.8.0-11
|
||||
- Optimize spec
|
||||
|
||||
* Thu Nov 14 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.8.0-11
|
||||
- Package init
|
||||
|
||||
1078
lapackqref.ps
1078
lapackqref.ps
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user