File superlu-sharedlib.diff of Package superlu

Index: SuperLU_3.0/CBLAS/Makefile
===================================================================
--- SuperLU_3.0.orig/CBLAS/Makefile
+++ SuperLU_3.0/CBLAS/Makefile
@@ -60,9 +60,9 @@ ZBLAS1 = izamax.o dzasum.o zaxpy.o zcopy
 	 zscal.o dcabs1.o
 ZBLAS2 = zgemv.o zhemv.o ztrsv.o zgerc.o zher2.o
 
 
-all: single double complex complex16
+all: single double complex complex16 shared
 
 single: $(SBLAS1) $(SBLAS2) $(SBLAS3)
 	$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
 	$(RANLIB) $(BLASLIB)
@@ -78,9 +78,14 @@ complex: $(CBLAS1) $(CBLAS2) $(CBLAS3)
 complex16: $(ZBLAS1) $(ZBLAS2) $(ZBLAS3)
 	$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
 	$(RANLIB) $(BLASLIB)
 
+shared: $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) $(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) $(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
+	$(CC) $(LDFLAGS) -shared -o ../libblas.so.2.0.0 -Wl,-soname,libblas.so.2 $^
+	ln -sf libblas.so.2.0.0 ../libblas.so.2
+	ln -sf libblas.so.2 ../libblas.so
+
 .c.o:
 	$(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)
 
 clean:	
-	rm -f *.o ../blas$(PLAT).a
+	rm -f *.o ../blas$(PLAT).a ../libblas.*
Index: SuperLU_3.0/Makefile
===================================================================
--- SuperLU_3.0.orig/Makefile
+++ SuperLU_3.0/Makefile
@@ -44,13 +44,19 @@ tmglib:
 install_lib: superlulib
 	$(INSTALL) -m 0755 -d $(DESTLIBDIR)
 	$(INSTALL) -m 0644 superlu$(PLAT).a $(DESTLIBDIR)/libsuperlu.a
 	ln -sf libsuperlu.a $(DESTLIBDIR)/superlu$(PLAT).a
+	$(INSTALL) -m 0755 libsuperlu.so.3.0.0 $(DESTLIBDIR)/
+	ln -sf libsuperlu.so.3.0.0 $(DESTLIBDIR)/libsuperlu.so.3
+	ln -sf libsuperlu.so.3 $(DESTLIBDIR)/libsuperlu.so
 
 install_blas: blas$(PLAT).a
 	$(INSTALL) -m 0755 -d $(DESTLIBDIR)
 	$(INSTALL) -m 0644 blas$(PLAT).a $(DESTLIBDIR)/libblas.a
 	ln -sf libblas.a $(DESTLIBDIR)/blas2$(PLAT).a
+	$(INSTALL) -m 0755 libblas.so.2.0.0 $(DESTLIBDIR)/
+	ln -sf libblas.so.2.0.0 $(DESTLIBDIR)/libblas.so.2
+	ln -sf libblas.so.2 $(DESTLIBDIR)/libblas.so
 
 matlabmex:
 	( cd MATLAB; $(MAKE) )
 
Index: SuperLU_3.0/SRC/Makefile
===================================================================
--- SuperLU_3.0.orig/SRC/Makefile
+++ SuperLU_3.0/SRC/Makefile
@@ -81,9 +81,9 @@ ZLUSRC = \
 	zpanel_dfs.o zpanel_bmod.o zreadhb.o \
 	zcolumn_dfs.o zcolumn_bmod.o zpivotL.o zpruneL.o \
 	zmemory.o zutil.o zmyblas2.o
 
-all:    single double complex complex16
+all:    single double complex complex16 shared
 
 single: $(SLUSRC) $(ALLAUX) $(SCLAUX)
 	$(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) $(SLUSRC) $(ALLAUX) $(SCLAUX)
 	$(RANLIB) ../$(SUPERLULIB)
@@ -99,8 +99,13 @@ complex: $(CLUSRC) $(ALLAUX) $(SCLAUX)
 complex16: $(ZLUSRC) $(ALLAUX) $(DZLAUX)
 	$(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) $(ZLUSRC) $(ALLAUX) $(DZLAUX)
 	$(RANLIB) ../$(SUPERLULIB)
 
+shared: $(SLUSRC) $(SCLAUX) $(DLUSRC) $(DZLAUX) $(CLUSRC) $(SCLAUX) $(ZLUSRC) $(DZLAUX) $(ALLAUX)
+	$(CC) $(LDFLAGS) -shared -o ../libsuperlu.so.3.0.0 -Wl,-soname,libsuperlu.so.3 $^ -L .. -lblas
+	ln -sf libsuperlu.so.3.0.0 ../libsuperlu.so.3
+	ln -sf libsuperlu.so.3 ../libsuperlu.so
+
 
 ##################################
 # Do not optimize these routines #
 ##################################
@@ -111,5 +116,5 @@ superlu_timer.o:  superlu_timer.c ; $(CC
 .c.o:
 	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
 
 clean:	
-	rm -f *.o ../superlu$(PLAT).a
+	rm -f *.o ../superlu$(PLAT).a ../libsuperlu.*
openSUSE Build Service is sponsored by