--- makes/Make.lib 2008-06-06 20:57:46.000000000 -0400 +++ makes/Make.lib.new 2008-12-21 15:36:21.000000000 -0500 @@ -3,6 +3,8 @@ # # override with libatlas.so only when atlas is built to one lib # +so_ver_major=3 +so_ver = $(so_ver_major).0 DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so CDYNlibs = liblapack.so libcblas.so libatlas.so @@ -32,38 +34,78 @@ mv $(tarnam).tar.gz $(tarnam).tgz ptshared : - - rm -f libatlas.so liblapack.so - $(MAKE) libatlas.so liblapack.so libptf77blas.so libf77blas.so \ - libptcblas.so libcblas.so liblapack.so + - rm -f libatlas.so* liblapack.so* \ + lib*blas.so* libclapack.so* + $(MAKE) libatlas.so libcblas.so libptf77blas.so libf77blas.so \ + libptcblas.so liblapack.so libclapack.so shared : - - rm -f libatlas.so liblapack.so - $(MAKE) libatlas.so liblapack.so libf77blas.so libcblas.so liblapack.so + - rm -f libatlas.so liblapack.so \ + libatlas.so.$(so_ver) liblapack.so.$(so_ver) + $(MAKE) libatlas.so libcblas.so libf77blas.so liblapack.so libclapack.so cptshared : - - rm -f libatlas.so libclapack.so - $(MAKE) libatlas.so libclapack.so libptcblas.so libcblas.so + - rm -f libatlas.so libclapack.so \ + libatlas.so.$(so_ver) libclapack.so.$(so_ver) + $(MAKE) libatlas.so libptcblas.so libcblas.so libclapack.so cshared : - - rm -f libatlas.so libclapack.so - $(MAKE) libatlas.so libclapack.so libcblas.so + - rm -f libatlas.so libclapack.so \ + libatlas.so.$(so_ver) libclapack.so.$(so_ver) + $(MAKE) libatlas.so libcblas.so libclapack.so libatlas.so : libatlas.a - ld $(LDFLAGS) -shared -soname libatlas.so -o libatlas.so \ - --whole-archive libatlas.a --no-whole-archive -lc $(LIBS) + mkdir static_libs ; cd static_libs ; ar x ../libatlas.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libatlas.so.$(so_ver_major) \ + -o libatlas.so.$(so_ver) static_libs/*.o -lc $(LIBS) + rm -rf static_libs + ln -s ./libatlas.so.$(so_ver) libatlas.so.$(so_ver_major) + ln -s ./libatlas.so.$(so_ver) libatlas.so liblapack.so : liblapack.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive \ - liblapack.a --no-whole-archive $(F77SYSLIB) + mkdir static_libs ; cd static_libs ; ar x ../liblapack.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=liblapack.so.$(so_ver_major) \ + -o liblapack.so.$(so_ver) static_libs/*.o $(F77SYSLIB) \ + libf77blas.so.$(so_ver_major) libcblas.so.$(so_ver_major) + rm -rf static_libs + ln -s ./liblapack.so.$(so_ver) liblapack.so.$(so_ver_major) + ln -s ./liblapack.so.$(so_ver) liblapack.so libclapack.so : libclapack.a - ld $(LDFLAGS) -shared -soname liblapack.so -o liblapack.so \ - --whole-archive libclapack.a + mkdir static_libs ; cd static_libs ; ar x ../libclapack.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libclapack.so.$(so_ver_major) \ + -o libclapack.so.$(so_ver) static_libs/*.o \ + libcblas.so.$(so_ver_major) -lc $(LIBS) + rm -rf static_libs + ln -s ./libclapack.so.$(so_ver) libclapack.so.$(so_ver_major) + ln -s ./libclapack.so.$(so_ver) libclapack.so libptf77blas.so : libptf77blas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptf77blas.a \ - --no-whole-archive $(F77SYSLIB) + mkdir static_libs ; cd static_libs ; ar x ../libptf77blas.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libptf77blas.so.$(so_ver_major) \ + -o libptf77blas.so.$(so_ver) static_libs/*.o \ + libatlas.so.$(so_ver) $(F77SYSLIB) + rm -rf static_libs + ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so.$(so_ver_major) + ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so libf77blas.so : libf77blas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libf77blas.a \ - --no-whole-archive $(F77SYSLIB) + mkdir static_libs ; cd static_libs ; ar x ../libf77blas.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libf77blas.so.$(so_ver_major) \ + -o libf77blas.so.$(so_ver) static_libs/*.o \ + libatlas.so.$(so_ver) $(F77SYSLIB) + rm -rf static_libs + ln -s ./libf77blas.so.$(so_ver) libf77blas.so.$(so_ver_major) + ln -s ./libf77blas.so.$(so_ver) libf77blas.so libptcblas.so : libptcblas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptcblas.a + mkdir static_libs ; cd static_libs ; ar x ../libptcblas.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libptcblas.so.$(so_ver_major) \ + -o libptcblas.so.$(so_ver) static_libs/*.o \ + libatlas.so.$(so_ver) -lc $(LIBS) + rm -rf static_libs + ln -s ./libptcblas.so.$(so_ver) libptcblas.so.$(so_ver_major) + ln -s ./libptcblas.so.$(so_ver) libptcblas.so libcblas.so : libcblas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a + mkdir static_libs ; cd static_libs ; ar x ../libcblas.a ; cd ../ + gcc $(LDFLAGS) -shared -Wl,-soname=libcblas.so.$(so_ver_major) \ + -o libcblas.so.$(so_ver) static_libs/*.o \ + libatlas.so.$(so_ver) -lc $(LIBS) + rm -rf static_libs + ln -s ./libcblas.so.$(so_ver) libcblas.so.$(so_ver_major) + ln -s ./libcblas.so.$(so_ver) libcblas.so # # Builds one shared lib from all ATLAS files #