56490c2
--- SRC/Makefile.orig	2016-03-26 08:47:18.885503561 -0400
56490c2
+++ SRC/Makefile	2016-03-26 08:52:10.512497969 -0400
56490c2
@@ -101,36 +101,40 @@
56490c2
 
56490c2
 all:    single double complex complex16
56490c2
 
56490c2
-single: $(SLUSRC) $(ALLAUX) $(SZAUX)
56490c2
-	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(SLUSRC) $(ALLAUX) $(SZAUX)
56490c2
-	$(RANLIB) ../lib/$(SUPERLULIB)
56490c2
-
56490c2
-double: $(DLUSRC) $(ALLAUX) $(DZAUX)
56490c2
-	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(DLUSRC) $(ALLAUX) $(DZAUX)
56490c2
-	$(RANLIB) ../lib/$(SUPERLULIB)
56490c2
-
56490c2
-complex: $(CLUSRC) $(ALLAUX) $(SZAUX)
56490c2
-	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(CLUSRC) $(ALLAUX) $(SZAUX)
56490c2
-	$(RANLIB) ../lib/$(SUPERLULIB)
56490c2
-
56490c2
-complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX)
56490c2
-	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(ZLUSRC) $(ALLAUX) $(DZAUX)
56490c2
-	$(RANLIB) ../lib/$(SUPERLULIB)
56490c2
+single: $(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
56490c2
+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_s.so.$(SONAME) -o libsuperlumt64_s.so.$(SONAME) \
56490c2
+	$(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
56490c2
+	ln -sf libsuperlumt64_s.so.$(SONAME) libsuperlumt64_s.so
56490c2
+
56490c2
+double: $(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
56490c2
+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_d.so.$(SONAME) -o libsuperlumt64_d.so.$(SONAME) \
56490c2
+	$(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
56490c2
+	ln -sf libsuperlumt64_d.so.$(SONAME) libsuperlumt64_d.so
56490c2
+
56490c2
+complex: $(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
56490c2
+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_c.so.$(SONAME) -o libsuperlumt64_c.so.$(SONAME) \
56490c2
+	$(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
56490c2
+	ln -sf libsuperlumt64_c.so.$(SONAME) libsuperlumt64_c.so
56490c2
+
56490c2
+complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
56490c2
+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_z.so.$(SONAME) -o libsuperlumt64_z.so.$(SONAME) \
56490c2
+	$(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
56490c2
+	ln -sf libsuperlumt64_z.so.$(SONAME) libsuperlumt64_z.so
56490c2
 
56490c2
 ##################################
56490c2
 # Do not optimize this routine   #
56490c2
 ##################################
56490c2
-dlamch.o: dlamch.c ; $(CC) -c $(NOOPTS) $<
56490c2
-slamch.o: slamch.c ; $(CC) -c $(NOOPTS) $<
56490c2
-superlu_timer.o:  superlu_timer.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
56490c2
-dclock.o:  dclock.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
56490c2
+slamch.o: slamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
56490c2
+dlamch.o: dlamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
56490c2
+superlu_timer.o:  superlu_timer.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $<
56490c2
+dclock.o:  dclock.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
56490c2
 
56490c2
 # Do not optimize this on Cray; related to 'volatile' variable.
56490c2
 await.o: await.c
56490c2
 	$(CC) -c $(NOOPTS) $< $(VERBOSE)
56490c2
 
56490c2
 .c.o:
56490c2
-	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
56490c2
+	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) $(BLASLIB) -c $< $(VERBOSE)
56490c2
 
56490c2
 clean:	
56490c2
 	rm -f *.o core ../lib/$(SUPERLULIB)