From 51c1a0db28d9da8d7bc6c42afbc3bddf03305643 Mon Sep 17 00:00:00 2001 From: Debian Science Team Date: Thu, 25 Aug 2016 08:30:34 +0000 Subject: [PATCH] static_full_blas_lapack Gbp-Pq: Name static_full_blas_lapack.diff --- CONFIG/src/Makefile | 2 +- CONFIG/src/SpewMakeInc.c | 3 +++ Make.top | 14 ++++++++++++-- makes/Make.lib | 30 ++++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/CONFIG/src/Makefile b/CONFIG/src/Makefile index 212b9d7..b02f12f 100644 --- a/CONFIG/src/Makefile +++ b/CONFIG/src/Makefile @@ -623,7 +623,7 @@ $(LIBINSTdir) : chmod 0755 $(LIBINSTdir) install : $(INCINSTdir) $(LIBINSTdir) $(INCINSTdir)/atlas $(MAKE) -f Make.top install_inc INSTdir=$(INCINSTdir) - $(MAKE) -f Make.top install_lib INSTdir=$(LIBINSTdir) + $(MAKE) -f Make.top install_static_lib INSTdir=$(LIBINSTdir) confclean: $(CLEANdep) rm -f *core* *.o config?.out diff --git a/CONFIG/src/SpewMakeInc.c b/CONFIG/src/SpewMakeInc.c index 5b0e429..a023f9e 100644 --- a/CONFIG/src/SpewMakeInc.c +++ b/CONFIG/src/SpewMakeInc.c @@ -624,6 +624,9 @@ int main(int nargs, char **args) } fprintf(fpout, " TESTlib = $(LIBdir)/libtstatlas.a\n\n"); + fprintf(fpout, " FULLBLASlib = $(LIBdir)/atlas/libblas.a\n"); + fprintf(fpout, " FULLLAPACKlib = $(LIBdir)/atlas/liblapack.a\n"); + fprintf(fpout, "# -------------------------------------------\n"); fprintf(fpout, "# Upper bound on largest cache size, in bytes\n"); fprintf(fpout, "# -------------------------------------------\n"); diff --git a/Make.top b/Make.top index 43e45d7..de3b7ca 100644 --- a/Make.top +++ b/Make.top @@ -14,6 +14,9 @@ leafstart: build: cd bin/ ; $(MAKE) xatlas_build cd bin/ ; ./xatlas_build $(INSTFLAGS) + cd lib/ ; $(MAKE) atlas/libblas.a + cd lib/ ; $(MAKE) atlas/liblapack.a + time: ./xatlbench -dc $(BLDdir)/bin/INSTALL_LOG -dp $(BLDdir)/ARCHS/$(ARCH) C_sanity_test: @@ -401,6 +404,7 @@ startup : lib include results EXtest $(MAKE) -f Make.top leafstart leaf=src/blas/reference/level1 $(MAKE) -f Make.top leafstart leaf=src/auxil $(MAKE) -f Make.top leafstart leaf=src/testing + $(MAKE) -f Make.top leafstart leaf=lib/atlas $(MAKE) -f Make.top leafstart leaf=lib $(MAKE) -f Make.top leafstart leaf=bin cd src/threads ; touch atomic.inc @@ -591,6 +595,7 @@ killgrd : lib : mkdir lib + mkdir lib/atlas include: mkdir include @@ -654,12 +659,17 @@ install_inc: chmod 0644 $(INSTdir)/cblas.h $(INSTdir)/clapack.h cp $(INCAdir)/* $(INSTdir)/atlas/. - chmod 0644 $(INSTdir)/atlas/* -install_lib: + +install_static_lib: cp $(LIBdir)/libatlas.a $(INSTdir)/. cp $(LIBdir)/libcblas.a $(INSTdir)/. cp $(LIBdir)/liblapack_atlas.a $(INSTdir)/. + mkdir -p $(INSTdir)/atlas + cp $(LIBdir)/atlas/libblas.a $(INSTdir)/atlas/. + cp $(LIBdir)/atlas/liblapack.a $(INSTdir)/atlas/. chmod 0644 $(INSTdir)/libatlas.a $(INSTdir)/liblapack_atlas.a \ - $(INSTdir)/libcblas.a + $(INSTdir)/libcblas.a $(INSTdir)/atlas/libblas.a \ + $(INSTdir)/atlas/liblapack.a - cp $(LIBdir)/libf77blas.a $(INSTdir)/. - chmod 0644 $(INSTdir)/libf77blas.a - cp $(LIBdir)/libptcblas.a $(INSTdir)/. diff --git a/makes/Make.lib b/makes/Make.lib index a2ea495..5b2226e 100644 --- a/makes/Make.lib +++ b/makes/Make.lib @@ -175,6 +175,36 @@ TRYALL : LIBS="$(LIBS)" LIBINSTdir="$(LIBINSTdir)" ; \ fi + +# Build full netlib blas/lapack libraries: +atlas/libblas.a: libatlas.a + mkdir tmp + cd tmp && \ + ar x ../libatlas.a && \ + if test -f ../libptf77blas.a -a -f ../libptcblas.a; then \ + ar x ../libptf77blas.a && \ + ar x ../libptcblas.a; \ + else \ + ar x ../libf77blas.a && \ + ar x ../libcblas.a; \ + fi + ar r $@ tmp/*.o + rm -rf tmp + +atlas/liblapack.a: liblapack_atlas.a libatlas.a + mkdir tmp + cd tmp && \ + ar x /usr/lib/liblapack_pic.a && \ + ar x ../liblapack_atlas.a && \ + if test -f ../libptcblas.a; then \ + ar x ../libptcblas.a; \ + else \ + ar x ../libcblas.a; \ + fi + ar r $@ tmp/*.o + rm -rf tmp + + # # Builds one shared lib from all ATLAS files # -- 2.30.2