--- ./Makefile.orig	2014-07-14 17:11:15.000000000 -0300
+++ ./Makefile	2014-10-03 09:57:16.814417684 -0300
@@ -12,12 +12,12 @@
 	( cd AMD && $(MAKE) )
 	( cd CAMD && $(MAKE) )
 	( cd COLAMD && $(MAKE) )
+	( cd CCOLAMD && $(MAKE) )
 	( cd BTF && $(MAKE) )
+	( cd CHOLMOD && $(MAKE) )
 	( cd KLU && $(MAKE) )
 	( cd LDL && $(MAKE) )
-	( cd CCOLAMD && $(MAKE) )
 	( cd UMFPACK && $(MAKE) )
-	( cd CHOLMOD && $(MAKE) )
 	( cd CSparse && $(MAKE) )
 	( cd CXSparse && $(MAKE) )
 	( cd RBio && $(MAKE) )
@@ -32,12 +32,12 @@
 	( cd AMD && $(MAKE) install )
 	( cd CAMD && $(MAKE) install )
 	( cd COLAMD && $(MAKE) install )
+	( cd CCOLAMD && $(MAKE) install )
 	( cd BTF && $(MAKE) install )
+	( cd CHOLMOD && $(MAKE) install )
 	( cd KLU && $(MAKE) install )
 	( cd LDL && $(MAKE) install )
-	( cd CCOLAMD && $(MAKE) install )
 	( cd UMFPACK && $(MAKE) install )
-	( cd CHOLMOD && $(MAKE) install )
 	( cd CXSparse && $(MAKE) install )
 	( cd RBio && $(MAKE) install )
 	( cd SPQR && $(MAKE) install )
@@ -50,12 +50,12 @@
 	( cd AMD && $(MAKE) uninstall )
 	( cd CAMD && $(MAKE) uninstall )
 	( cd COLAMD && $(MAKE) uninstall )
+	( cd CCOLAMD && $(MAKE) uninstall )
 	( cd BTF && $(MAKE) uninstall )
+	( cd CHOLMOD && $(MAKE) uninstall )
 	( cd KLU && $(MAKE) uninstall )
 	( cd LDL && $(MAKE) uninstall )
-	( cd CCOLAMD && $(MAKE) uninstall )
 	( cd UMFPACK && $(MAKE) uninstall )
-	( cd CHOLMOD && $(MAKE) uninstall )
 	( cd CXSparse && $(MAKE) uninstall )
 	( cd RBio && $(MAKE) uninstall )
 	( cd SPQR && $(MAKE) uninstall )
@@ -67,10 +67,10 @@
 	( cd SuiteSparse_config && $(MAKE) )
 	- ( cd metis-4.0 && $(MAKE) )
 	( cd AMD && $(MAKE) library )
-	( cd BTF && $(MAKE) library )
 	( cd CAMD && $(MAKE) library )
-	( cd CCOLAMD && $(MAKE) library )
 	( cd COLAMD && $(MAKE) library )
+	( cd CCOLAMD && $(MAKE) library )
+	( cd BTF && $(MAKE) library )
 	( cd CHOLMOD && $(MAKE) library )
 	( cd KLU && $(MAKE) library )
 	( cd LDL && $(MAKE) library )
--- ./UMFPACK/Demo/Makefile.orig	2014-03-21 23:19:44.000000000 -0300
+++ ./UMFPACK/Demo/Makefile	2014-10-03 10:10:05.142812257 -0300
@@ -27,8 +27,8 @@
         ifeq (../../COLAMD, $(wildcard ../../COLAMD))
             # CHOLMOD and COLAMD are available
             CONFIG1 =
-            LIB_WITH_CHOLMOD = ../../CHOLMOD/Lib/libcholmod.a \
-                ../../COLAMD/Lib/libcolamd.a
+            LIB_WITH_CHOLMOD = -lcholmod \
+                -lcolamd -lamd
             # check if METIS is requested and available
             ifeq (,$(findstring -DNPARTITION, $(CHOLMOD_CONFIG)))
                 # METIS is requested.  See if it is available
@@ -37,8 +37,8 @@
                         ifeq (../../CCOLAMD, $(wildcard ../../CCOLAMD))
                             # METIS, CAMD, and CCOLAMD are available
                             LIB_WITH_PARTITION = $(METIS) \
-                                ../../CCOLAMD/Lib/libccolamd.a \
-                                ../../CAMD/Lib/libcamd.a
+                                -lccolamd \
+                                -lcamd
                             I_WITH_PARTITION = -I$(METIS_PATH)/Lib \
                                 -I../../CCOLAMD/Include -I../../CAMD/Include
                             CONFIG2 =
@@ -59,13 +59,13 @@
 LIBS = $(LAPACK) $(BLAS) $(XERBLA) $(LIB) $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION) $(CUBLAS_LIB) $(CUDART_LIB)
 
 ../Lib/libumfpack.a:
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 ../../AMD/Lib/libamd.a:
-	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../../AMD ; $(MAKE) library )
 
 ../../SuiteSparse_config/libsuitesparseconfig.a:
-	( cd ../../SuiteSparse_config ; $(MAKE) library )
+#	( cd ../../SuiteSparse_config ; $(MAKE) library )
 
 ../../CHOLMOD/Lib/libcholmod.a:
 	- ( cd ../../CHOLMOD && $(MAKE) library )
@@ -83,11 +83,11 @@
 $(METIS):
 	( cd $(METIS_PATH) && $(MAKE) )
 
-UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \
-    ../../SuiteSparse_config/libsuitesparseconfig.a \
+UMFPACK = -L../../ -lumfpack -lccolamd -lcamd -lcolamd -lamd \
+    -lsuitesparseconfig \
     $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION) 
 
-libs: $(UMFPACK)
+libs: $(INC)
 
 #-------------------------------------------------------------------------------
 # Create the demo programs, run them, and compare the output
@@ -95,7 +95,7 @@
 
 dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c
 
-umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK)
+umfpack_simple: umfpack_simple.c $(INC)
 	$(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS)
 
 # the GNU rules are simpler:
@@ -112,39 +112,39 @@
 umfpack_di_demo.c: umfpack_xx_demo.c umfpack_di_demo.sed
 	- sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c
 
-umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK)
+umfpack_di_demo: umfpack_di_demo.c $(INC)
 	$(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS)
 
 # double-precision, SuiteSparse_long verion:
 umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed
 	- sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c
 
-umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK)
+umfpack_dl_demo: umfpack_dl_demo.c $(INC)
 	$(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS)
 
 # complex, int verion:
 umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed
 	- sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c
 
-umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK)
+umfpack_zi_demo: umfpack_zi_demo.c $(INC)
 	$(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS)
 
 # complex, SuiteSparse_long verion:
 umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed
 	- sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c
 
-umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK)
+umfpack_zl_demo: umfpack_zl_demo.c $(INC)
 	$(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS)
 
 run: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo umfpack_simple
-	./umfpack_simple
-	./umfpack_di_demo > my_umfpack_di_demo.out
+	LD_LIBRARY_PATH=../..: ./umfpack_simple
+	LD_LIBRARY_PATH=../..: ./umfpack_di_demo > my_umfpack_di_demo.out
 	- diff umfpack_di_demo.out my_umfpack_di_demo.out
-	./umfpack_dl_demo > my_umfpack_dl_demo.out
+	LD_LIBRARY_PATH=../..: ./umfpack_dl_demo > my_umfpack_dl_demo.out
 	- diff umfpack_dl_demo.out my_umfpack_dl_demo.out
-	./umfpack_zi_demo > my_umfpack_zi_demo.out
+	LD_LIBRARY_PATH=../..: ./umfpack_zi_demo > my_umfpack_zi_demo.out
 	- diff umfpack_zi_demo.out my_umfpack_zi_demo.out
-	./umfpack_zl_demo > my_umfpack_zl_demo.out
+	LD_LIBRARY_PATH=../..: ./umfpack_zl_demo > my_umfpack_zl_demo.out
 	- diff umfpack_zl_demo.out my_umfpack_zl_demo.out
 
 #-------------------------------------------------------------------------------
@@ -152,28 +152,28 @@
 #-------------------------------------------------------------------------------
 
 # the output of "make hb" is in the file umf4.out
-hb: $(UMFPACK) umf4 readhb readhb_nozeros readhb_size
-	- ./readhb_nozeros < HB/can_24.psa > tmp/A
-	- ./readhb_size    < HB/can_24.psa > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/west0067.rua > tmp/A
-	- ./readhb_size    < HB/west0067.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/fs_183_6.rua > tmp/A
-	- ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-	- ./umf4
-	- ./readhb         < HB/fs_183_6.rua > tmp/A
-	- ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-	- ./umf4
-	- ./readhb         < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4 a 1e-6
+hb: umf4 readhb readhb_nozeros readhb_size
+	- LD_LIBRARY_PATH=../..: ./readhb_nozeros < HB/can_24.psa > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/can_24.psa > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb_nozeros < HB/west0067.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/west0067.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb_nozeros < HB/fs_183_6.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb         < HB/fs_183_6.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb         < HB/arc130.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/arc130.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb_nozeros < HB/arc130.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/arc130.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4
+	- LD_LIBRARY_PATH=../..: ./readhb_nozeros < HB/arc130.rua > tmp/A
+	- LD_LIBRARY_PATH=../..: ./readhb_size    < HB/arc130.rua > tmp/Asize
+	- LD_LIBRARY_PATH=../..: ./umf4 a 1e-6
 
 umf4: umf4.c $(UMFPACK)
 	$(C) -o umf4 umf4.c $(UMFPACK) $(LIBS)
@@ -195,17 +195,17 @@
 fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK)
 	$(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
 	    $(UMFPACK) $(LIBS)
-	- ./umf4hb < HB/west0067.rua > my_umf4hb.out
+	- LD_LIBRARY_PATH=../..: ./umf4hb < HB/west0067.rua > my_umf4hb.out
 	- diff my_umf4hb.out umf4hb.out
 	$(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
 	    $(UMFPACK) $(LIBS)
-	- ./umf4zhb < HB/qc324.cua > my_umf4zhb.out
+	- LD_LIBRARY_PATH=../..: ./umf4zhb < HB/qc324.cua > my_umf4zhb.out
 	- diff my_umf4zhb.out umf4zhb.out
 
 fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK)
 	$(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
 	    $(UMFPACK) $(LIBS)
-	- ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out
+	- LD_LIBRARY_PATH=../..: ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out
 	- diff my_umf4hb64.out umf4hb64.out
 
 umf4_f77wrapper.o: umf4_f77wrapper.c $(INC)
--- ./UMFPACK/Lib/GNUmakefile.orig	2014-03-21 16:16:16.000000000 -0300
+++ ./UMFPACK/Lib/GNUmakefile	2014-10-03 09:51:47.948529073 -0300
@@ -2,7 +2,7 @@
 # UMFPACK Makefile for compiling on Unix systems (for GNU Make)
 #-------------------------------------------------------------------------------
 
-default: libumfpack.a
+default:  libumfpack.so
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
@@ -257,6 +257,10 @@
 	$(ARCHIVE)  libumfpack.a $^
 	- $(RANLIB) libumfpack.a
 
+libumfpack.so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libumfpack.so.5 -o ../../libumfpack.so.5.7.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
+	( cd ../../; ln -sf libumfpack.so.5.7.0 libumfpack.so.5; ln -sf libumfpack.so.5 libumfpack.so )
+
 so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
 	gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^
 
--- ./CCOLAMD/Demo/Makefile.orig	2014-03-21 16:21:07.000000000 -0300
+++ ./CCOLAMD/Demo/Makefile	2014-10-03 09:51:47.973528761 -0300
@@ -10,11 +10,11 @@
 
 C = $(CC) $(CF) $(I)
 
-LIB2 = ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+LIB2 = -L../../ -lsuitesparseconfig $(LIB)
 
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 #------------------------------------------------------------------------------
 # Create the demo program, run it, and compare the output
@@ -23,13 +23,13 @@
 dist:
 
 ccolamd_example: ccolamd_example.c library
-	$(C) -o ccolamd_example ccolamd_example.c ../Lib/libccolamd.a $(LIB2)
-	- ./ccolamd_example > my_ccolamd_example.out
+	$(C) -o ccolamd_example ccolamd_example.c $(LIB2) -lccolamd 
+	- LD_LIBRARY_PATH=../..: ./ccolamd_example > my_ccolamd_example.out
 	- diff ccolamd_example.out my_ccolamd_example.out
 
 ccolamd_l_example: ccolamd_l_example.c library
-	$(C) -o ccolamd_l_example ccolamd_l_example.c ../Lib/libccolamd.a $(LIB2)
-	- ./ccolamd_l_example > my_ccolamd_l_example.out
+	$(C) -o ccolamd_l_example ccolamd_l_example.c $(LIB2) -lccolamd 
+	- LD_LIBRARY_PATH=../..: ./ccolamd_l_example > my_ccolamd_l_example.out
 	- diff ccolamd_l_example.out my_ccolamd_l_example.out
 
 #------------------------------------------------------------------------------
--- ./CCOLAMD/Lib/Makefile.orig	2014-03-21 16:21:07.000000000 -0300
+++ ./CCOLAMD/Lib/Makefile	2014-10-03 09:51:47.987528586 -0300
@@ -2,7 +2,7 @@
 # CCOLAMD Makefile
 #-------------------------------------------------------------------------------
 
-default: libccolamd.a
+default:  libccolamd.so
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
@@ -19,9 +19,14 @@
 	$(ARCHIVE)  libccolamd.a ccolamd.o ccolamd_l.o
 	- $(RANLIB) libccolamd.a 
 
-ccode: libccolamd.a
+libccolamd.so: $(SRC) $(INC)
+	$(CC) $(CF) $(I) -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.o
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libccolamd.so.2 -o ../../libccolamd.so.2.9.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(SRC) $(I) ccolamd_l.o
+	( cd ../../; ln -sf libccolamd.so.2.9.0 libccolamd.so.2; ln -sf libccolamd.so.2 libccolamd.so )
+
+ccode: libccolamd.so
 
-library: libccolamd.a
+library: libccolamd.so
 
 clean:
 	- $(RM) $(CLEAN)
--- ./KLU/User/Makefile.orig	2014-03-21 16:21:30.000000000 -0300
+++ ./KLU/User/Makefile	2014-10-03 09:51:48.002528398 -0300
@@ -2,7 +2,7 @@
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
-all: libklu_cholmod.a
+all: libklu_cholmod.so
 
 I = -I../../CHOLMOD/Include -I../../SuiteSparse_config \
     -I../Include -I../../AMD/Include \
@@ -13,6 +13,10 @@
 	$(ARCHIVE)  libklu_cholmod.a klu_cholmod.o
 	- $(RANLIB) libklu_cholmod.a
 
+libklu_cholmod.so: library klu_cholmod.c klu_cholmod.h
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libklu_cholmod.so.2 -o ../../libklu_cholmod.so.2.9.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse library klu_cholmod.c klu_cholmod.h
+	( cd ../../; ln -sf libklu_cholmod.so.2.9.0 libklu_cholmod.so.2; ln -sf libklu_cholmod.so.2 libklu_cholmod.so )
+
 distclean: purge
 
 purge: clean
--- ./KLU/Demo/Makefile.orig	2014-03-21 16:21:27.000000000 -0300
+++ ./KLU/Demo/Makefile	2014-10-03 09:55:37.034665102 -0300
@@ -5,11 +5,12 @@
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
-CLIB = ../Lib/libklu.a  ../../BTF/Lib/libbtf.a \
-	../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a \
-        ../../SuiteSparse_config/libsuitesparseconfig.a
+CLIB = -L../../ -lklu  -lbtf \
+	-lcamd -lccolamd \
+	-lamd -lcolamd \
+        -lsuitesparseconfig
 
-CHOLMOD_LIB = ../../CHOLMOD/Lib/libcholmod.a
+CHOLMOD_LIB = -L../../ -lcholmod
 CHOLMOD = $(CHOLMOD_LIB) $(LAPACK) $(BLAS) $(XERBLA)
 
 ifneq ($(GPU_CONFIG),)
@@ -19,41 +20,41 @@
 I = -I../../SuiteSparse_config -I../../AMD/Include -I../../COLAMD/Include \
 	-I../../BTF/Include -I../Include -I../../CHOLMOD/Include
 
-all: $(CLIB) klu_simple $(CHOLMOD_LIB) kludemo kluldemo
-	- ./klu_simple
-	- ./kludemo < ../Matrix/1c.mtx
-	- ./kludemo < ../Matrix/arrowc.mtx
-	- ./kludemo < ../Matrix/arrow.mtx
-	- ./kludemo < ../Matrix/impcol_a.mtx
-	- ./kludemo < ../Matrix/w156.mtx
-	- ./kludemo < ../Matrix/ctina.mtx
-	- ./kluldemo < ../Matrix/1c.mtx
-	- ./kluldemo < ../Matrix/arrowc.mtx
-	- ./kluldemo < ../Matrix/arrow.mtx
-	- ./kluldemo < ../Matrix/impcol_a.mtx
-	- ./kluldemo < ../Matrix/w156.mtx
-	- ./kluldemo < ../Matrix/ctina.mtx
+all: klu_simple kludemo kluldemo
+	- LD_LIBRARY_PATH=../..: ./klu_simple
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/1c.mtx
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/arrowc.mtx
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/arrow.mtx
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/impcol_a.mtx
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/w156.mtx
+	- LD_LIBRARY_PATH=../..: ./kludemo < ../Matrix/ctina.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/1c.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/arrowc.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/arrow.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/impcol_a.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/w156.mtx
+	- LD_LIBRARY_PATH=../..: ./kluldemo < ../Matrix/ctina.mtx
 
 ../Lib/libklu.a:
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 ../../BTF/Lib/libbtf.a:
-	( cd ../../BTF ; $(MAKE) library )
+#	( cd ../../BTF ; $(MAKE) library )
 
 ../../AMD/Lib/libamd.a:
-	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../../AMD ; $(MAKE) library )
 
 ../../COLAMD/Lib/libcolamd.a:
-	( cd ../../COLAMD ; $(MAKE) library )
+#	( cd ../../COLAMD ; $(MAKE) library )
 
 ../../CHOLMOD/Lib/libcholmod.a:
-	( cd ../../CHOLMOD ; $(MAKE) library )
+#	( cd ../../CHOLMOD ; $(MAKE) library )
 #	( cd ../../CAMD ; $(MAKE) )
 #	( cd ../../CCOLAMD ; $(MAKE) )
 #	( cd ../../metis-4.0 ; $(MAKE) )
 
 ../../SuiteSparse_config/libsuitesparseconfig.a:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
 
 purge: distclean
 
@@ -64,12 +65,12 @@
 clean:
 	- $(RM) $(CLEAN)
 
-kludemo: kludemo.c Makefile $(CLIB)
+kludemo: kludemo.c Makefile
 	$(CC) $(CF) $(I) kludemo.c -o kludemo $(CLIB) $(CHOLMOD) $(LIB)
 
-kluldemo: kludemo.c Makefile $(CLIB)
+kluldemo: kludemo.c Makefile
 	$(CC) $(CF) $(I) kluldemo.c -o kluldemo $(CLIB) $(CHOLMOD) $(LIB)
 
-klu_simple: klu_simple.c Makefile $(CLIB)
+klu_simple: klu_simple.c Makefile
 	$(CC) $(CF) $(I) klu_simple.c -o klu_simple $(CLIB) $(LIB)
-	- ./klu_simple
+	- LD_LIBRARY_PATH=../..: ./klu_simple
--- ./KLU/Lib/Makefile.orig	2014-03-21 16:21:27.000000000 -0300
+++ ./KLU/Lib/Makefile	2014-10-03 09:51:48.039527936 -0300
@@ -17,7 +17,7 @@
 
 all: library
 
-library: libklu.a
+library: libklu.so
 
 KLU_D = klu_d.o klu_d_kernel.o klu_d_dump.o \
     klu_d_factor.o klu_d_free_numeric.o klu_d_solve.o \
@@ -51,6 +51,10 @@
 	$(ARCHIVE)  libklu.a $(OBJ)
 	- $(RANLIB) libklu.a
 
+libklu.so: $(OBJ)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libklu.so.1 -o ../../libklu.so.1.3.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(OBJ)
+	( cd ../../; ln -sf libklu.so.1.3.0 libklu.so.1; ln -sf libklu.so.1 libklu.so )
+
 $(OBJ): $(INC)
 
 #-------------------------------------------------------------------------------
--- ./LDL/Demo/Makefile.orig	2014-03-21 16:21:12.000000000 -0300
+++ ./LDL/Demo/Makefile	2014-10-03 09:51:48.054527748 -0300
@@ -12,61 +12,61 @@
 
 all: ldlsimple ldllsimple ldlmain ldllmain ldlamd ldllamd
 
-LIB2 = ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+LIB2 = -L../../ -lsuitesparseconfig $(LIB)
 
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) library )
-	( cd ../../AMD ; $(MAKE) library )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) library )
+#	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../Lib ; $(MAKE) )
 
 #-------------------------------------------------------------------------------
 # stand-alone C programs:
 #-------------------------------------------------------------------------------
 
 ldlmain:  ldlmain.c library
-	$(C) ldlmain.c ../Lib/libldl.a -o ldlmain $(LIB2)
-	- ./ldlmain > my_ldlmain.out
+	$(C) ldlmain.c -lldl -o ldlmain $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldlmain > my_ldlmain.out
 	- diff ldlmain.out my_ldlmain.out
 
 ldllmain:  ldlmain.c library
-	$(C) -DLDL_LONG ldlmain.c ../Lib/libldl.a -o ldllmain $(LIB2)
-	- ./ldllmain > my_ldllmain.out
+	$(C) -DLDL_LONG ldlmain.c -lldl -o ldllmain $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldllmain > my_ldllmain.out
 	- diff ldlmain.out my_ldllmain.out
 
 ldlsimple:  ldlsimple.c library
-	$(C) ldlsimple.c ../Lib/libldl.a -o ldlsimple $(LIB2)
-	- ./ldlsimple > my_ldlsimple.out
+	$(C) ldlsimple.c -lldl -o ldlsimple $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldlsimple > my_ldlsimple.out
 	- diff ldlsimple.out my_ldlsimple.out
 
 ldllsimple:  ldlsimple.c library
-	$(C) $(I) -DLDL_LONG ldlsimple.c ../Lib/libldl.a -o ldllsimple $(LIB2)
-	- ./ldllsimple > my_ldllsimple.out
+	$(C) $(I) -DLDL_LONG ldlsimple.c -lldl -o ldllsimple $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldllsimple > my_ldllsimple.out
 	- diff ldlsimple.out my_ldllsimple.out
 
 ldlamd:  ldlmain.c library
 	- $(C) -I../../AMD/Include -DUSE_AMD \
-		ldlmain.c ../../AMD/Lib/libamd.a ../Lib/libldl.a -o ldlamd $(LIB2)
-	- ./ldlamd > my_ldlamd.out
+		ldlmain.c -lamd -lldl -o ldlamd $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldlamd > my_ldlamd.out
 	- diff ldlamd.out my_ldlamd.out
 
 ldllamd:  ldlmain.c library
 	- $(C) -DLDL_LONG $(I) -I../../AMD/Include -DUSE_AMD \
-		ldlmain.c ../../AMD/Lib/libamd.a ../Lib/libldl.a -o ldllamd $(LIB2)
-	- ./ldllamd > my_ldllamd.out
+		ldlmain.c -lamd -lldl -o ldllamd $(LIB2)
+	- LD_LIBRARY_PATH=../..: ./ldllamd > my_ldllamd.out
 	- diff ldllamd.out my_ldllamd.out
 
 run:
-	- ./ldlsimple > my_ldlsimple.out
+	- LD_LIBRARY_PATH=../..: ./ldlsimple > my_ldlsimple.out
 	- diff ldlsimple.out my_ldlsimple.out
-	- ./ldllsimple > my_ldllsimple.out
+	- LD_LIBRARY_PATH=../..: ./ldllsimple > my_ldllsimple.out
 	- diff ldlsimple.out my_ldllsimple.out
-	- ./ldlmain > my_ldlmain.out
+	- LD_LIBRARY_PATH=../..: ./ldlmain > my_ldlmain.out
 	- diff ldlmain.out my_ldlmain.out
-	- ./ldllmain > my_ldllmain.out
+	- LD_LIBRARY_PATH=../..: ./ldllmain > my_ldllmain.out
 	- diff ldlmain.out my_ldllmain.out
-	- ./ldlamd > my_ldlamd.out
+	- LD_LIBRARY_PATH=../..: ./ldlamd > my_ldlamd.out
 	- diff ldlamd.out my_ldlamd.out
-	- ./ldllamd > my_ldllamd.out
+	- LD_LIBRARY_PATH=../..: ./ldllamd > my_ldllamd.out
 	- diff ldllamd.out my_ldllamd.out
 
 
--- ./LDL/Lib/Makefile.orig	2014-03-21 16:21:12.000000000 -0300
+++ ./LDL/Lib/Makefile	2014-10-03 09:51:48.065527611 -0300
@@ -10,7 +10,7 @@
 
 C = $(CC) $(CF) $(I)
 
-all: libldl.a
+all: libldl.so
 
 #-------------------------------------------------------------------------------
 # the ldl library:
@@ -22,6 +22,11 @@
 	$(ARCHIVE)  libldl.a ldl.o ldll.o
 	- $(RANLIB) libldl.a
 
+libldl.so: ../Source/ldl.c ../Include/ldl.h
+	$(C) -DLDL_LONG -c ../Source/ldl.c -o ldll.o
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libldl.so.2 -o ../../libldl.so.2.2.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse ../Source/ldl.c ../Include/ldl.h ldll.o
+	( cd ../../; ln -sf libldl.so.2.2.0 libldl.so.2; ln -sf libldl.so.2 libldl.so )
+
 distclean: purge
 
 purge: clean
--- ./COLAMD/Demo/Makefile.orig	2014-03-21 16:13:38.000000000 -0300
+++ ./COLAMD/Demo/Makefile	2014-10-03 09:51:48.073527511 -0300
@@ -10,11 +10,11 @@
 
 C = $(CC) $(CF) $(I)
 
-LIB2 = ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+LIB2 = -L../../ -lsuitesparseconfig $(LIB)
 
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 #------------------------------------------------------------------------------
 # Create the demo program, run it, and compare the output
@@ -23,13 +23,13 @@
 dist:
 
 colamd_example: colamd_example.c library
-	$(C) -o colamd_example colamd_example.c ../Lib/libcolamd.a $(LIB2)
-	- ./colamd_example > my_colamd_example.out
+	$(C) -o colamd_example colamd_example.c $(LIB2) -lcolamd 
+	- LD_LIBRARY_PATH=../..: ./colamd_example > my_colamd_example.out
 	- diff colamd_example.out my_colamd_example.out
 
 colamd_l_example: colamd_l_example.c library
-	$(C) -o colamd_l_example colamd_l_example.c ../Lib/libcolamd.a $(LIB2)
-	- ./colamd_l_example > my_colamd_l_example.out
+	$(C) -o colamd_l_example colamd_l_example.c $(LIB2) -lcolamd 
+	- LD_LIBRARY_PATH=../..: ./colamd_l_example > my_colamd_l_example.out
 	- diff colamd_l_example.out my_colamd_l_example.out
 
 #------------------------------------------------------------------------------
--- ./COLAMD/Lib/Makefile.orig	2014-03-21 16:13:38.000000000 -0300
+++ ./COLAMD/Lib/Makefile	2014-10-03 09:51:48.085527360 -0300
@@ -2,7 +2,7 @@
 # COLAMD Makefile
 #-------------------------------------------------------------------------------
 
-default: libcolamd.a
+default:  libcolamd.so
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
@@ -19,9 +19,14 @@
 	$(ARCHIVE)  libcolamd.a colamd.o colamd_l.o
 	- $(RANLIB) libcolamd.a
 
-ccode: libcolamd.a
+libcolamd.so: $(SRC) $(INC)
+	$(CC) $(CF) $(I) -c ../Source/colamd.c -DDLONG -o colamd_l.o
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcolamd.so.2 -o ../../libcolamd.so.2.9.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(SRC) $(I) colamd_l.o
+	( cd ../../; ln -sf libcolamd.so.2.9.0 libcolamd.so.2; ln -sf libcolamd.so.2 libcolamd.so )
+
+ccode: libcolamd.so
 
-library: libcolamd.a
+library: libcolamd.so
 
 clean:
 	- $(RM) $(CLEAN)
--- ./CSparse/Demo/Makefile.orig	2014-03-21 16:14:17.000000000 -0300
+++ ./CSparse/Demo/Makefile	2014-10-03 10:18:54.283197092 -0300
@@ -1,23 +1,23 @@
 CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O
 I = -I../Include
 
-CS = ../Lib/libcsparse.a
+CS = -L../../ -lcsparse
 
 all: lib cs_demo1 cs_demo2 cs_demo3
-	- ./cs_demo1 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/ash219
-	- ./cs_demo2 < ../Matrix/bcsstk01
-	- ./cs_demo2 < ../Matrix/fs_183_1
-	- ./cs_demo2 < ../Matrix/mbeacxc
-	- ./cs_demo2 < ../Matrix/west0067
-	- ./cs_demo2 < ../Matrix/lp_afiro
-	- ./cs_demo2 < ../Matrix/bcsstk16
-	- ./cs_demo3 < ../Matrix/bcsstk01
-	- ./cs_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk16
 
 lib:
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 cs_demo1: lib cs_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_demo1 cs_demo1.c $(CS) -lm
--- ./CSparse/Lib/Makefile.orig	2014-03-21 16:14:17.000000000 -0300
+++ ./CSparse/Lib/Makefile	2014-10-03 10:30:38.935387727 -0300
@@ -1,9 +1,11 @@
-CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O
+include ../../SuiteSparse_config/SuiteSparse_config.mk
+
+CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3
 I = -I../Include
 RANLIB = ranlib
 ARCHIVE = $(AR) $(ARFLAGS)
 
-all: libcsparse.a
+all: libcsparse.so
 
 CS = cs_add.o cs_amd.o cs_chol.o cs_cholsol.o cs_counts.o cs_cumsum.o \
 	cs_droptol.o cs_dropzeros.o cs_dupl.o cs_entry.o \
@@ -24,6 +26,10 @@
 	$(ARCHIVE)  libcsparse.a $(CS)
 	- $(RANLIB) libcsparse.a
 
+libcsparse.so: $(CS)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcsparse.so.3 -o ../../libcsparse.so.3.1.3 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(CS)
+	( cd ../../; ln -sf libcsparse.so.3.1.3 libcsparse.so.3; ln -sf libcsparse.so.3 libcsparse.so )
+
 clean:
 	- $(RM) *.o
 
--- ./SuiteSparse_config/Makefile.orig	2014-10-03 09:51:43.710582055 -0300
+++ ./SuiteSparse_config/Makefile	2014-10-03 09:51:48.119526935 -0300
@@ -8,11 +8,11 @@
 
 include SuiteSparse_config.mk
 
-ccode: libsuitesparseconfig.a
+ccode: libsuitesparseconfig.so
 
-all: libsuitesparseconfig.a
+all: libsuitesparseconfig.so
 
-library: libsuitesparseconfig.a
+library: libsuitesparseconfig.so
 
 libsuitesparseconfig.a: SuiteSparse_config.c SuiteSparse_config.h
 	$(CC) $(CF) -c SuiteSparse_config.c
@@ -20,6 +20,10 @@
 	$(RANLIB) libsuitesparseconfig.a
 #	- $(RM) SuiteSparse_config.o
 
+libsuitesparseconfig.so: SuiteSparse_config.c SuiteSparse_config.h
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libsuitesparseconfig.so.4 -o ../libsuitesparseconfig.so.4.3.1 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse SuiteSparse_config.c SuiteSparse_config.h
+	( cd ../; ln -sf libsuitesparseconfig.so.4.3.1 libsuitesparseconfig.so.4; ln -sf libsuitesparseconfig.so.4 libsuitesparseconfig.so )
+
 distclean: purge
 
 purge: clean
 /* ========================================================================== */
 /* === SuiteSparse_long ===================================================== */
 /* ========================================================================== */
--- ./SuiteSparse_config/SuiteSparse_config.mk.orig	2014-08-16 16:22:58.000000000 -0300
+++ ./SuiteSparse_config/SuiteSparse_config.mk	2014-10-03 09:51:47.877529961 -0300
@@ -61,7 +61,7 @@
 # If OpenMP is used, it is recommended to define CHOLMOD_OMP_NUM_THREADS
 # as the number of cores per socket on the machine being used to maximize
 # memory performance
-  CFLAGS = 
+  CFLAGS =  -O2 -mtune=generic -fexceptions -fPIC
 # CFLAGS = -g
 # for the icc compiler and OpenMP:
 # CFLAGS = -openmp
@@ -84,7 +84,7 @@
 
 # Fortran compiler (not required for 'make' or 'make library')
 F77 = gfortran
-F77FLAGS = $(FFLAGS) -O
+F77FLAGS =  -O2 -mtune=generic -fPIC
 F77LIB =
 
 # C and Fortran libraries.  Remove -lrt if you don't have it.
@@ -93,8 +93,8 @@
 # LIB = -lm
 
 # For "make install"
-INSTALL_LIB = /usr/local/lib
-INSTALL_INCLUDE = /usr/local/include
+INSTALL_LIB =  /usr/lib64
+INSTALL_INCLUDE =  /usr/include/suitesparse
 
 # Which version of MAKE you are using (default is "make")
 # MAKE = make
@@ -117,7 +117,7 @@
 # naming the BLAS and LAPACK library (*.a or *.so) files.
 
 # This is probably slow ... it might connect to the Standard Reference BLAS:
-  BLAS = -lblas -lgfortran
+  BLAS =  -lblas -lgfortran -lpthread
   LAPACK = -llapack
 
 # MKL 
@@ -156,7 +156,7 @@
 
 # If you wish to use the XERBLA in LAPACK and/or the BLAS instead,
 # use this option:
-XERBLA = 
+XERBLA =  -lsuitesparseconfig -lcerbla
 
 # If you wish to use the Fortran SuiteSparse_config/xerbla/xerbla.f instead,
 # use this:
@@ -211,7 +211,7 @@
 # You may wish to use an absolute path.  METIS is optional.  Compile
 # CHOLMOD with -DNPARTITION if you do not wish to use METIS.
 METIS_PATH = ../../metis-4.0
-METIS = ../../metis-4.0/libmetis.a
+METIS =  -lmetis
 
 #------------------------------------------------------------------------------
 # UMFPACK configuration:
--- ./SuiteSparse_config/xerbla/Makefile.orig	2014-03-21 16:15:24.000000000 -0300
+++ ./SuiteSparse_config/xerbla/Makefile	2014-10-03 09:51:48.125526860 -0300
@@ -4,11 +4,11 @@
 
 include ../SuiteSparse_config.mk
 
-ccode: libcerbla.a
+ccode: libcerbla.so
 
 fortran: libxerbla.a 
 
-all: libxerbla.a libcerbla.a
+all: libxerbla.a libcerbla.so
 
 # Fortran version:
 libxerbla.a: xerbla.f
@@ -17,6 +17,10 @@
 	- $(RANLIB) libxerbla.a
 	- $(RM) xerbla.o
 
+libxerbla.so: xerbla.f
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libxerbla.so.4 -o ../../libxerbla.so.4.3.1 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse xerbla.f
+	( cd ../../; ln -sf libxerbla.so.4.3.1 libxerbla.so.4; ln -sf libxerbla.so.4 libxerbla.so )
+
 # C version:
 libcerbla.a: xerbla.c xerbla.h
 	$(CC) $(CF) -c xerbla.c
@@ -24,6 +28,10 @@
 	- $(RANLIB) libcerbla.a
 	- $(RM) xerbla.o
 
+libcerbla.so: xerbla.c xerbla.h
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcerbla.so.4 -o ../../libcerbla.so.4.3.1 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse xerbla.c xerbla.h
+	( cd ../../; ln -sf libcerbla.so.4.3.1 libcerbla.so.4; ln -sf libcerbla.so.4 libcerbla.so )
+
 distclean: purge
 
 purge: clean
--- ./AMD/Demo/Makefile.orig	2014-03-21 16:21:59.000000000 -0300
+++ ./AMD/Demo/Makefile	2014-10-03 09:51:48.140526673 -0300
@@ -10,14 +10,14 @@
 
 INC = ../Include/amd.h ../../SuiteSparse_config/SuiteSparse_config.h
 
-LIB2 = ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+LIB2 = -L../../ -lsuitesparseconfig $(LIB)
 
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 f77lib:
-	( cd ../Lib ; $(MAKE) fortran )
+#	( cd ../Lib ; $(MAKE) fortran )
 
 #------------------------------------------------------------------------------
 # Create the demo program, run it, and compare the output
@@ -26,23 +26,23 @@
 dist:
 
 amd_demo: amd_demo.c library $(INC)
-	$(C) -o amd_demo amd_demo.c ../Lib/libamd.a $(LIB2)
-	./amd_demo > my_amd_demo.out
+	$(C) -o amd_demo amd_demo.c $(LIB2) -lamd 
+	LD_LIBRARY_PATH=../..: ./amd_demo > my_amd_demo.out
 	- diff amd_demo.out my_amd_demo.out
 
 amd_l_demo: amd_l_demo.c library $(INC)
-	$(C) -o amd_l_demo amd_l_demo.c ../Lib/libamd.a $(LIB2)
-	./amd_l_demo > my_amd_l_demo.out
+	$(C) -o amd_l_demo amd_l_demo.c $(LIB2) -lamd 
+	LD_LIBRARY_PATH=../..: ./amd_l_demo > my_amd_l_demo.out
 	- diff amd_l_demo.out my_amd_l_demo.out
 
 amd_demo2: amd_demo2.c library $(INC)
-	$(C) -o amd_demo2 amd_demo2.c ../Lib/libamd.a $(LIB2)
-	./amd_demo2 > my_amd_demo2.out
+	$(C) -o amd_demo2 amd_demo2.c $(LIB2) -lamd 
+	LD_LIBRARY_PATH=../..: ./amd_demo2 > my_amd_demo2.out
 	- diff amd_demo2.out my_amd_demo2.out
 
 amd_simple: amd_simple.c library $(INC)
-	$(C) -o amd_simple amd_simple.c ../Lib/libamd.a $(LIB2)
-	./amd_simple > my_amd_simple.out
+	$(C) -o amd_simple amd_simple.c $(LIB2) -lamd 
+	LD_LIBRARY_PATH=../..: ./amd_simple > my_amd_simple.out
 	- diff amd_simple.out my_amd_simple.out
 
 #------------------------------------------------------------------------------
@@ -54,15 +54,15 @@
 cross: amd_f77cross
 
 amd_f77demo: amd_f77demo.f f77lib
-	$(F77) $(F77FLAGS) -o amd_f77demo amd_f77demo.f ../Lib/libamdf77.a \
+	$(F77) $(F77FLAGS) -o amd_f77demo amd_f77demo.f -lamdf77 \
 	    $(F77LIB)
-	./amd_f77demo > my_amd_f77demo.out
+	LD_LIBRARY_PATH=../..: ./amd_f77demo > my_amd_f77demo.out
 	- diff amd_f77demo.out my_amd_f77demo.out
 
 amd_f77simple: amd_f77simple.f f77lib
 	$(F77) $(F77FLAGS) -o amd_f77simple amd_f77simple.f \
-	    ../Lib/libamdf77.a $(F77LIB)
-	./amd_f77simple > my_amd_f77simple.out
+	    $(F77LIB) -lamdf77 
+	LD_LIBRARY_PATH=../..: ./amd_f77simple > my_amd_f77simple.out
 	- diff amd_f77simple.out my_amd_f77simple.out
 
 amd_f77wrapper.o: amd_f77wrapper.c
@@ -70,8 +70,8 @@
 
 amd_f77cross:  amd_f77cross.f amd_f77wrapper.o ../Lib/libamd.a
 	$(F77) $(F77FLAGS) -o amd_f77cross amd_f77cross.f amd_f77wrapper.o \
-	    ../Lib/libamd.a $(F77LIB)
-	./amd_f77cross > my_amd_f77cross.out
+	    $(F77LIB) -lamd 
+	LD_LIBRARY_PATH=../..: ./amd_f77cross > my_amd_f77cross.out
 	- diff amd_f77cross.out my_amd_f77cross.out
 
 #------------------------------------------------------------------------------
--- ./AMD/Lib/GNUmakefile.orig	2014-03-21 16:22:00.000000000 -0300
+++ ./AMD/Lib/GNUmakefile	2014-10-03 09:51:48.151526535 -0300
@@ -2,7 +2,7 @@
 # AMD Makefile for compiling on Unix systems (for GNU make only)
 #-------------------------------------------------------------------------------
 
-default: libamd.a
+default:  libamd.so
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
@@ -44,6 +44,10 @@
 	$(ARCHIVE) libamd.a $^
 	- $(RANLIB) libamd.a
 
+libamd.so: $(AMDI) $(AMDL)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libamd.so.2 -o ../../libamd.so.2.4.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(AMDI) $(AMDL)
+	( cd ../../; ln -sf libamd.so.2.4.0 libamd.so.2; ln -sf libamd.so.2 libamd.so )
+
 #-------------------------------------------------------------------------------
 # compile the Fortran versions and the libamdf77.a library
 #-------------------------------------------------------------------------------
@@ -62,6 +66,10 @@
 	$(ARCHIVE) libamdf77.a $^
 	- $(RANLIB) libamdf77.a
 
+libamdf77.so: $(AMDF77)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libamdf77.so.2 -o ../../libamdf77.so.2.4.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(AMDF77)
+	( cd ../../; ln -sf libamdf77.so.2.4.0 libamdf77.so.2; ln -sf libamdf77.so.2 libamdf77.so )
+
 #-------------------------------------------------------------------------------
 # Remove all but the files in the original distribution
 #-------------------------------------------------------------------------------
--- ./CAMD/Demo/Makefile.orig	2014-03-21 16:21:52.000000000 -0300
+++ ./CAMD/Demo/Makefile	2014-10-03 09:51:48.171526285 -0300
@@ -10,11 +10,11 @@
 
 INC = ../Include/camd.h ../../SuiteSparse_config/SuiteSparse_config.h
 
-LIB2 = ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+LIB2 = -L../../ -lsuitesparseconfig $(LIB)
 
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 #------------------------------------------------------------------------------
 # Create the demo program, run it, and compare the output
@@ -23,23 +23,23 @@
 dist:
 
 camd_demo: camd_demo.c library $(INC)
-	$(C) -o camd_demo camd_demo.c ../Lib/libcamd.a $(LIB2)
-	./camd_demo > my_camd_demo.out
+	$(C) -o camd_demo camd_demo.c $(LIB2) -lcamd 
+	LD_LIBRARY_PATH=../..: ./camd_demo > my_camd_demo.out
 	- diff camd_demo.out my_camd_demo.out
 
 camd_l_demo: camd_l_demo.c library $(INC)
-	$(C) -o camd_l_demo camd_l_demo.c ../Lib/libcamd.a $(LIB2)
-	./camd_l_demo > my_camd_l_demo.out
+	$(C) -o camd_l_demo camd_l_demo.c $(LIB2) -lcamd 
+	LD_LIBRARY_PATH=../..: ./camd_l_demo > my_camd_l_demo.out
 	- diff camd_l_demo.out my_camd_l_demo.out
 
 camd_demo2: camd_demo2.c library $(INC)
-	$(C) -o camd_demo2 camd_demo2.c ../Lib/libcamd.a $(LIB2)
-	./camd_demo2 > my_camd_demo2.out
+	$(C) -o camd_demo2 camd_demo2.c $(LIB2) -lcamd 
+	LD_LIBRARY_PATH=../..: ./camd_demo2 > my_camd_demo2.out
 	- diff camd_demo2.out my_camd_demo2.out
 
 camd_simple: camd_simple.c library $(INC)
-	$(C) -o camd_simple camd_simple.c ../Lib/libcamd.a $(LIB2)
-	./camd_simple > my_camd_simple.out
+	$(C) -o camd_simple camd_simple.c $(LIB2) -lcamd 
+	LD_LIBRARY_PATH=../..: ./camd_simple > my_camd_simple.out
 	- diff camd_simple.out my_camd_simple.out
 
 #------------------------------------------------------------------------------
--- ./CAMD/Lib/GNUmakefile.orig	2014-03-21 16:21:52.000000000 -0300
+++ ./CAMD/Lib/GNUmakefile	2014-10-03 09:51:48.186526098 -0300
@@ -2,7 +2,7 @@
 # CAMD Makefile for compiling on Unix systems (for GNU make only)
 #-------------------------------------------------------------------------------
 
-default: libcamd.a
+default:  libcamd.so
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
@@ -43,6 +43,10 @@
 	$(ARCHIVE)  libcamd.a $^
 	- $(RANLIB) libcamd.a
 
+libcamd.so: $(CAMDI) $(CAMDL)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcamd.so.2 -o ../../libcamd.so.2.4.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(CAMDI) $(CAMDL)
+	( cd ../../; ln -sf libcamd.so.2.4.0 libcamd.so.2; ln -sf libcamd.so.2 libcamd.so )
+
 #-------------------------------------------------------------------------------
 # Remove all but the files in the original distribution
 #-------------------------------------------------------------------------------
--- ./RBio/Demo/Makefile.orig	2014-03-21 16:22:02.000000000 -0300
+++ ./RBio/Demo/Makefile	2014-10-03 09:51:48.216525723 -0300
@@ -6,12 +6,12 @@
 
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
-CLIB = ../Lib/librbio.a ../../SuiteSparse_config/libsuitesparseconfig.a $(LIB)
+CLIB = -L../../ -lrbio -lsuitesparseconfig $(LIB)
 
 C = $(CC) $(CF)
 
 all: library RBdemo
-	./RBdemo < ../RBio/private/west0479.rua
+	LD_LIBRARY_PATH=../..: ./RBdemo < ../RBio/private/west0479.rua
 
 code: library
 
@@ -26,8 +26,8 @@
 
 #-------------------------------------------------------------------------------
 library:
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 #-------------------------------------------------------------------------------
 
 I = -I../Include -I../../SuiteSparse_config
--- ./RBio/Lib/Makefile.orig	2014-03-21 16:22:02.000000000 -0300
+++ ./RBio/Lib/Makefile	2014-10-03 09:51:48.230525548 -0300
@@ -10,9 +10,9 @@
 
 C = $(CC) $(CF)
 
-all: librbio.a
+all: librbio.so
 
-library: librbio.a
+library: librbio.so
 
 purge: distclean
 
@@ -49,6 +49,10 @@
 	$(ARCHIVE)  librbio.a $(OBJ)
 	- $(RANLIB) librbio.a
 
+librbio.so: $(OBJ)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,librbio.so.2 -o ../../librbio.so.2.2.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(OBJ)
+	( cd ../../; ln -sf librbio.so.2.2.0 librbio.so.2; ln -sf librbio.so.2 librbio.so )
+
 $(OBJ): $(INC)
 
 I = -I../Include -I../../SuiteSparse_config
--- ./BTF/Lib/Makefile.orig	2014-03-21 16:13:35.000000000 -0300
+++ ./BTF/Lib/Makefile	2014-10-03 09:51:48.251525285 -0300
@@ -15,7 +15,7 @@
 
 all: library
 
-library: libbtf.a
+library: libbtf.so
 
 OBJ = btf_order.o btf_maxtrans.o btf_strongcomp.o \
     btf_l_order.o btf_l_maxtrans.o btf_l_strongcomp.o
@@ -24,6 +24,10 @@
 	$(ARCHIVE)  libbtf.a $(OBJ)
 	- $(RANLIB) libbtf.a
 
+libbtf.so: $(OBJ)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libbtf.so.1 -o ../../libbtf.so.1.2.0 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(OBJ)
+	( cd ../../; ln -sf libbtf.so.1.2.0 libbtf.so.1; ln -sf libbtf.so.1 libbtf.so )
+
 $(OBJ): $(INC)
 
 #-------------------------------------------------------------------------------
--- ./CHOLMOD/Makefile.orig	2014-07-14 16:58:01.000000000 -0300
+++ ./CHOLMOD/Makefile	2014-10-03 09:52:32.914966915 -0300
@@ -14,6 +14,7 @@
 
 # Compile the C-callable libraries and the Demo programs.
 all:
+	( cd Lib ; $(MAKE) )
 	( cd Demo ; $(MAKE) )
 
 # Compile the C-callable libraries only.
--- ./CHOLMOD/Demo/Makefile.orig	2014-07-14 19:04:45.000000000 -0300
+++ ./CHOLMOD/Demo/Makefile	2014-10-03 09:51:48.297524710 -0300
@@ -22,7 +22,7 @@
         ifeq (../../CCOLAMD, $(wildcard ../../CCOLAMD))
             # CAMD and CCOLAMD are requested and available
             LIB_WITH_PARTITION = \
-                        ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a
+                        -lccolamd -lcamd
             I_WITH_PARTITION = \
                         -I../../CCOLAMD/Include -I../../CAMD/Include
             CONFIG = -DNPARTITION
@@ -32,7 +32,7 @@
                 ifeq ($(METIS_PATH), $(wildcard $(METIS_PATH)))
                     # METIS is available
                     LIB_WITH_PARTITION = $(METIS) \
-                        ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a
+                        -lccolamd -lcamd
                     I_WITH_PARTITION = -I$(METIS_PATH)/Lib \
                         -I../../CCOLAMD/Include -I../../CAMD/Include
                     CONFIG =
@@ -44,8 +44,8 @@
 
 #-------------------------------------------------------------------------------
 
-LIB2 = ../Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a \
-        ../../SuiteSparse_config/libsuitesparseconfig.a \
+LIB2 = -L../../ -lcholmod -lamd -lcolamd \
+        -lsuitesparseconfig \
 	$(LIB_WITH_PARTITION) $(LAPACK) $(BLAS) $(XERBLA) $(LIB)
 
 #-------------------------------------------------------------------------------
@@ -92,15 +92,15 @@
 #-------------------------------------------------------------------------------
 # See below if you compile with -DNPARTITION
 library:
-	( cd ../../SuiteSparse_config/xerbla ; $(MAKE) )
-	( cd ../../SuiteSparse_config ; $(MAKE) )
-	( cd ../Lib ; $(MAKE) )
-	( cd ../../AMD ; $(MAKE) library )
-	( cd ../../COLAMD ; $(MAKE) library )
+#	( cd ../../SuiteSparse_config/xerbla ; $(MAKE) )
+#	( cd ../../SuiteSparse_config ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
+#	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../../COLAMD ; $(MAKE) library )
 ifneq (,$(findstring -DCAMD, $(CONFIG)))
 else
-	( cd ../../CCOLAMD ; $(MAKE) library )
-	( cd ../../CAMD ; $(MAKE) library )
+#	( cd ../../CCOLAMD ; $(MAKE) library )
+#	( cd ../../CAMD ; $(MAKE) library )
 endif
 ifneq (,$(findstring -DNPARTITION, $(CONFIG)))
 else
--- ./CHOLMOD/Lib/Makefile.orig	2014-03-22 21:46:29.000000000 -0300
+++ ./CHOLMOD/Lib/Makefile	2014-10-03 09:51:48.316524473 -0300
@@ -50,9 +50,9 @@
 
 C = $(CC) $(CF) $(CHOLMOD_CONFIG) $(CONFIG)
 
-all: libcholmod.a
+all: libcholmod.so
 
-library: libcholmod.a
+library: libcholmod.so
 
 purge: distclean
 
@@ -160,6 +160,10 @@
 	$(ARCHIVE)  libcholmod.a $(OBJ)
 	- $(RANLIB) libcholmod.a
 
+libcholmod.so: $(OBJ)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcholmod.so.3 -o ../../libcholmod.so.3.0.1 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(OBJ)
+	( cd ../../; ln -sf libcholmod.so.3.0.1 libcholmod.so.3; ln -sf libcholmod.so.3 libcholmod.so )
+
 $(OBJ): $(INC)
 
 #-------------------------------------------------------------------------------
--- ./CXSparse/Demo/Makefile.orig	2014-03-21 16:21:44.000000000 -0300
+++ ./CXSparse/Demo/Makefile	2014-10-03 10:26:00.646866813 -0300
@@ -7,9 +7,9 @@
 
 I = -I../Include -I../../SuiteSparse_config
 
-CS = ../Lib/libcxsparse.a
+CS = -L../../ -lcxsparse
 
-all: $(CS) cs_demo1 cs_demo2 cs_demo3 \
+all: cs_demo1 cs_demo2 cs_demo3 \
 	cs_di_demo1 cs_di_demo2 cs_di_demo3 \
 	cs_dl_demo1 cs_dl_demo2 cs_dl_demo3 \
 	cs_ci_demo1 cs_ci_demo2 cs_ci_demo3 \
@@ -19,142 +19,142 @@
 tests: test_convert test test_di test_dl test_ci test_cl
 
 test: cs_demo1 cs_demo2 cs_demo3
-	- ./cs_demo1 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/fs_183_1
-	- ./cs_demo2 < ../Matrix/west0067
-	- ./cs_demo2 < ../Matrix/lp_afiro
-	- ./cs_demo2 < ../Matrix/ash219
-	- ./cs_demo2 < ../Matrix/mbeacxc
-	- ./cs_demo2 < ../Matrix/bcsstk01
-	- ./cs_demo3 < ../Matrix/bcsstk01
-	- ./cs_demo2 < ../Matrix/bcsstk16
-	- ./cs_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk16
 
 test_di: cs_di_demo1 cs_di_demo2 cs_di_demo3
-	- ./cs_di_demo1 < ../Matrix/t1
-	- ./cs_di_demo2 < ../Matrix/t1
-	- ./cs_di_demo2 < ../Matrix/fs_183_1
-	- ./cs_di_demo2 < ../Matrix/west0067
-	- ./cs_di_demo2 < ../Matrix/lp_afiro
-	- ./cs_di_demo2 < ../Matrix/ash219
-	- ./cs_di_demo2 < ../Matrix/mbeacxc
-	- ./cs_di_demo2 < ../Matrix/bcsstk01
-	- ./cs_di_demo3 < ../Matrix/bcsstk01
-	- ./cs_di_demo2 < ../Matrix/bcsstk16
-	- ./cs_di_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo3 < ../Matrix/bcsstk16
 
 test_dl: cs_dl_demo1 cs_dl_demo2 cs_dl_demo3
-	- ./cs_dl_demo1 < ../Matrix/t1
-	- ./cs_dl_demo2 < ../Matrix/t1
-	- ./cs_dl_demo2 < ../Matrix/fs_183_1
-	- ./cs_dl_demo2 < ../Matrix/west0067
-	- ./cs_dl_demo2 < ../Matrix/lp_afiro
-	- ./cs_dl_demo2 < ../Matrix/ash219
-	- ./cs_dl_demo2 < ../Matrix/mbeacxc
-	- ./cs_dl_demo2 < ../Matrix/bcsstk01
-	- ./cs_dl_demo3 < ../Matrix/bcsstk01
-	- ./cs_dl_demo2 < ../Matrix/bcsstk16
-	- ./cs_dl_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo3 < ../Matrix/bcsstk16
 
 test_ci: cs_ci_demo1 cs_ci_demo2 cs_ci_demo3
-	- ./cs_ci_demo1 < ../Matrix/t2
-	- ./cs_ci_demo2 < ../Matrix/t2
-	- ./cs_ci_demo2 < ../Matrix/t3
-	- ./cs_ci_demo2 < ../Matrix/t4
-	- ./cs_ci_demo2 < ../Matrix/c_west0067
-	- ./cs_ci_demo2 < ../Matrix/c_mbeacxc
-	- ./cs_ci_demo2 < ../Matrix/young1c
-	- ./cs_ci_demo2 < ../Matrix/qc324
-	- ./cs_ci_demo2 < ../Matrix/neumann
-	- ./cs_ci_demo2 < ../Matrix/c4
-	- ./cs_ci_demo3 < ../Matrix/c4
-	- ./cs_ci_demo2 < ../Matrix/mhd1280b
-	- ./cs_ci_demo3 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo1 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t3
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c_west0067
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c_mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/young1c
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/qc324
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/neumann
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo3 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo3 < ../Matrix/mhd1280b
 
 test_cl: cs_cl_demo1 cs_cl_demo2 cs_cl_demo3
-	- ./cs_cl_demo1 < ../Matrix/t2
-	- ./cs_cl_demo2 < ../Matrix/t2
-	- ./cs_cl_demo2 < ../Matrix/t3
-	- ./cs_cl_demo2 < ../Matrix/t4
-	- ./cs_cl_demo2 < ../Matrix/c_west0067
-	- ./cs_cl_demo2 < ../Matrix/c_mbeacxc
-	- ./cs_cl_demo2 < ../Matrix/young1c
-	- ./cs_cl_demo2 < ../Matrix/qc324
-	- ./cs_cl_demo2 < ../Matrix/neumann
-	- ./cs_cl_demo2 < ../Matrix/c4
-	- ./cs_cl_demo3 < ../Matrix/c4
-	- ./cs_cl_demo2 < ../Matrix/mhd1280b
-	- ./cs_cl_demo3 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo1 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t3
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c_west0067
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c_mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/young1c
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/qc324
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/neumann
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo3 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo3 < ../Matrix/mhd1280b
 
 test_convert: cs_idemo cs_ldemo
-	- ./cs_idemo < ../Matrix/t2
-	- ./cs_ldemo < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_idemo < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ldemo < ../Matrix/t2
 
-$(CS):
-	( cd ../Lib ; $(MAKE) )
+#$(CS):
+#	( cd ../Lib ; $(MAKE) )
 
-cs_demo1: $(CS) cs_demo1.c Makefile $(CS)
+cs_demo1: cs_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_demo1 cs_demo1.c $(CS) -lm
 
-cs_demo2: $(CS) cs_demo2.c cs_demo.c cs_demo.h Makefile $(CS)
+cs_demo2: cs_demo2.c cs_demo.c cs_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_demo2 cs_demo2.c cs_demo.c $(CS) -lm
 
-cs_demo3: $(CS) cs_demo3.c cs_demo.c cs_demo.h Makefile $(CS)
+cs_demo3: cs_demo3.c cs_demo.c cs_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_demo3 cs_demo3.c cs_demo.c $(CS) -lm
 
 
 
 
-cs_di_demo1: $(CS) cs_di_demo1.c Makefile $(CS)
+cs_di_demo1: cs_di_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_di_demo1 cs_di_demo1.c $(CS) -lm
 
-cs_di_demo2: $(CS) cs_di_demo2.c cs_di_demo.c cs_di_demo.h Makefile $(CS)
+cs_di_demo2: cs_di_demo2.c cs_di_demo.c cs_di_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_di_demo2 cs_di_demo2.c cs_di_demo.c $(CS) -lm
 
-cs_di_demo3: $(CS) cs_di_demo3.c cs_di_demo.c cs_di_demo.h Makefile $(CS)
+cs_di_demo3: cs_di_demo3.c cs_di_demo.c cs_di_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_di_demo3 cs_di_demo3.c cs_di_demo.c $(CS) -lm
 
 
 
 
-cs_ci_demo1: $(CS) cs_ci_demo1.c Makefile $(CS)
+cs_ci_demo1: cs_ci_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_ci_demo1 cs_ci_demo1.c $(CS) -lm
 
-cs_ci_demo2: $(CS) cs_ci_demo2.c cs_ci_demo.c cs_ci_demo.h Makefile $(CS)
+cs_ci_demo2: cs_ci_demo2.c cs_ci_demo.c cs_ci_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_ci_demo2 cs_ci_demo2.c cs_ci_demo.c $(CS) -lm
 
-cs_ci_demo3: $(CS) cs_ci_demo3.c cs_ci_demo.c cs_ci_demo.h Makefile $(CS)
+cs_ci_demo3: cs_ci_demo3.c cs_ci_demo.c cs_ci_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_ci_demo3 cs_ci_demo3.c cs_ci_demo.c $(CS) -lm
 
 
 
-cs_dl_demo1: $(CS) cs_dl_demo1.c Makefile $(CS)
+cs_dl_demo1: cs_dl_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_dl_demo1 cs_dl_demo1.c $(CS) -lm
 
-cs_dl_demo2: $(CS) cs_dl_demo2.c cs_dl_demo.c cs_dl_demo.h Makefile $(CS)
+cs_dl_demo2:  cs_dl_demo2.c cs_dl_demo.c cs_dl_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_dl_demo2 cs_dl_demo2.c cs_dl_demo.c $(CS) -lm
 
-cs_dl_demo3: $(CS) cs_dl_demo3.c cs_dl_demo.c cs_dl_demo.h Makefile $(CS)
+cs_dl_demo3: cs_dl_demo3.c cs_dl_demo.c cs_dl_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_dl_demo3 cs_dl_demo3.c cs_dl_demo.c $(CS) -lm
 
 
-cs_cl_demo1: $(CS) cs_cl_demo1.c Makefile $(CS)
+cs_cl_demo1: cs_cl_demo1.c Makefile
 	$(CC) $(CF) $(I) -o cs_cl_demo1 cs_cl_demo1.c $(CS) -lm
 
-cs_cl_demo2: $(CS) cs_cl_demo2.c cs_cl_demo.c cs_cl_demo.h Makefile $(CS)
+cs_cl_demo2: cs_cl_demo2.c cs_cl_demo.c cs_cl_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_cl_demo2 cs_cl_demo2.c cs_cl_demo.c $(CS) -lm
 
-cs_cl_demo3: $(CS) cs_cl_demo3.c cs_cl_demo.c cs_cl_demo.h Makefile $(CS)
+cs_cl_demo3: cs_cl_demo3.c cs_cl_demo.c cs_cl_demo.h Makefile
 	$(CC) $(CF) $(I) -o cs_cl_demo3 cs_cl_demo3.c cs_cl_demo.c $(CS) -lm
 
 
 
 
-cs_idemo: $(CS) cs_idemo.c Makefile $(CS)
+cs_idemo: cs_idemo.c Makefile
 	$(CC) $(CF) $(I) -o cs_idemo cs_idemo.c $(CS) -lm
 
-cs_ldemo: $(CS) cs_ldemo.c Makefile $(CS)
+cs_ldemo: cs_ldemo.c Makefile
 	$(CC) $(CF) $(I) -DCS_LONG -o cs_ldemo cs_ldemo.c $(CS) -lm
 
 
--- ./CXSparse/Lib/Makefile.orig	2014-03-21 16:21:44.000000000 -0300
+++ ./CXSparse/Lib/Makefile	2014-10-03 09:51:48.360523923 -0300
@@ -7,7 +7,7 @@
 
 I = -I../../SuiteSparse_config -I../Include
 
-all: libcxsparse.a
+all: libcxsparse.so
 
 CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \
 	cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \
@@ -90,6 +90,10 @@
 	$(ARCHIVE)  libcxsparse.a $(CS)
 	- $(RANLIB) libcxsparse.a
 
+libcxsparse.so: $(CS)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcxsparse.so.3 -o ../../libcxsparse.so.3.1.3 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(CS)
+	( cd ../../; ln -sf libcxsparse.so.3.1.3 libcxsparse.so.3; ln -sf libcxsparse.so.3 libcxsparse.so )
+
 clean:
 	- $(RM) *.o
 
--- ./CXSparse_newfiles/Demo/Makefile.orig	2014-03-21 16:21:44.000000000 -0300
+++ ./CXSparse_newfiles/Demo/Makefile	2014-10-03 09:51:48.383523635 -0300
@@ -19,80 +19,80 @@
 tests: test_convert test test_di test_dl test_ci test_cl
 
 test: cs_demo1 cs_demo2 cs_demo3
-	- ./cs_demo1 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/t1
-	- ./cs_demo2 < ../Matrix/fs_183_1
-	- ./cs_demo2 < ../Matrix/west0067
-	- ./cs_demo2 < ../Matrix/lp_afiro
-	- ./cs_demo2 < ../Matrix/ash219
-	- ./cs_demo2 < ../Matrix/mbeacxc
-	- ./cs_demo2 < ../Matrix/bcsstk01
-	- ./cs_demo3 < ../Matrix/bcsstk01
-	- ./cs_demo2 < ../Matrix/bcsstk16
-	- ./cs_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_demo3 < ../Matrix/bcsstk16
 
 test_di: cs_di_demo1 cs_di_demo2 cs_di_demo3
-	- ./cs_di_demo1 < ../Matrix/t1
-	- ./cs_di_demo2 < ../Matrix/t1
-	- ./cs_di_demo2 < ../Matrix/fs_183_1
-	- ./cs_di_demo2 < ../Matrix/west0067
-	- ./cs_di_demo2 < ../Matrix/lp_afiro
-	- ./cs_di_demo2 < ../Matrix/ash219
-	- ./cs_di_demo2 < ../Matrix/mbeacxc
-	- ./cs_di_demo2 < ../Matrix/bcsstk01
-	- ./cs_di_demo3 < ../Matrix/bcsstk01
-	- ./cs_di_demo2 < ../Matrix/bcsstk16
-	- ./cs_di_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_di_demo3 < ../Matrix/bcsstk16
 
 test_dl: cs_dl_demo1 cs_dl_demo2 cs_dl_demo3
-	- ./cs_dl_demo1 < ../Matrix/t1
-	- ./cs_dl_demo2 < ../Matrix/t1
-	- ./cs_dl_demo2 < ../Matrix/fs_183_1
-	- ./cs_dl_demo2 < ../Matrix/west0067
-	- ./cs_dl_demo2 < ../Matrix/lp_afiro
-	- ./cs_dl_demo2 < ../Matrix/ash219
-	- ./cs_dl_demo2 < ../Matrix/mbeacxc
-	- ./cs_dl_demo2 < ../Matrix/bcsstk01
-	- ./cs_dl_demo3 < ../Matrix/bcsstk01
-	- ./cs_dl_demo2 < ../Matrix/bcsstk16
-	- ./cs_dl_demo3 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo1 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/t1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/fs_183_1
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/west0067
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/lp_afiro
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/ash219
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo3 < ../Matrix/bcsstk01
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo2 < ../Matrix/bcsstk16
+	- LD_LIBRARY_PATH=../..: ./cs_dl_demo3 < ../Matrix/bcsstk16
 
 test_ci: cs_ci_demo1 cs_ci_demo2 cs_ci_demo3
-	- ./cs_ci_demo1 < ../Matrix/t2
-	- ./cs_ci_demo2 < ../Matrix/t2
-	- ./cs_ci_demo2 < ../Matrix/t3
-	- ./cs_ci_demo2 < ../Matrix/t4
-	- ./cs_ci_demo2 < ../Matrix/c_west0067
-	- ./cs_ci_demo2 < ../Matrix/c_mbeacxc
-	- ./cs_ci_demo2 < ../Matrix/young1c
-	- ./cs_ci_demo2 < ../Matrix/qc324
-	- ./cs_ci_demo2 < ../Matrix/neumann
-	- ./cs_ci_demo2 < ../Matrix/c4
-	- ./cs_ci_demo3 < ../Matrix/c4
-	- ./cs_ci_demo2 < ../Matrix/mhd1280b
-	- ./cs_ci_demo3 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo1 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t3
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/t4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c_west0067
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c_mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/young1c
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/qc324
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/neumann
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo3 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo2 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_ci_demo3 < ../Matrix/mhd1280b
 
 test_cl: cs_cl_demo1 cs_cl_demo2 cs_cl_demo3
-	- ./cs_cl_demo1 < ../Matrix/t2
-	- ./cs_cl_demo2 < ../Matrix/t2
-	- ./cs_cl_demo2 < ../Matrix/t3
-	- ./cs_cl_demo2 < ../Matrix/t4
-	- ./cs_cl_demo2 < ../Matrix/c_west0067
-	- ./cs_cl_demo2 < ../Matrix/c_mbeacxc
-	- ./cs_cl_demo2 < ../Matrix/young1c
-	- ./cs_cl_demo2 < ../Matrix/qc324
-	- ./cs_cl_demo2 < ../Matrix/neumann
-	- ./cs_cl_demo2 < ../Matrix/c4
-	- ./cs_cl_demo3 < ../Matrix/c4
-	- ./cs_cl_demo2 < ../Matrix/mhd1280b
-	- ./cs_cl_demo3 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo1 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t3
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/t4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c_west0067
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c_mbeacxc
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/young1c
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/qc324
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/neumann
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo3 < ../Matrix/c4
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo2 < ../Matrix/mhd1280b
+	- LD_LIBRARY_PATH=../..: ./cs_cl_demo3 < ../Matrix/mhd1280b
 
 test_convert: cs_idemo cs_ldemo
-	- ./cs_idemo < ../Matrix/t2
-	- ./cs_ldemo < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_idemo < ../Matrix/t2
+	- LD_LIBRARY_PATH=../..: ./cs_ldemo < ../Matrix/t2
 
 $(CS):
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 cs_demo1: $(CS) cs_demo1.c Makefile $(CS)
 	$(CC) $(CF) $(I) -o cs_demo1 cs_demo1.c $(CS) -lm
--- ./CXSparse_newfiles/Lib/Makefile.orig	2014-03-21 16:21:44.000000000 -0300
+++ ./CXSparse_newfiles/Lib/Makefile	2014-10-03 09:51:48.398523448 -0300
@@ -7,7 +7,7 @@
 
 I = -I../../SuiteSparse_config -I../Include
 
-all: libcxsparse.a
+all: libcxsparse.so
 
 CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \
 	cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \
@@ -90,6 +90,10 @@
 	$(ARCHIVE)  libcxsparse.a $(CS)
 	- $(RANLIB) libcxsparse.a
 
+libcxsparse.so: $(CS)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libcxsparse.so.3 -o ../../libcxsparse.so.3.1.3 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(CS)
+	( cd ../../; ln -sf libcxsparse.so.3.1.3 libcxsparse.so.3; ln -sf libcxsparse.so.3 libcxsparse.so )
+
 clean:
 	- $(RM) *.o
 
--- ./SPQR/Demo/Makefile.orig	2014-07-14 16:46:58.000000000 -0300
+++ ./SPQR/Demo/Makefile	2014-10-03 10:36:58.587641421 -0300
@@ -20,8 +20,8 @@
         ifeq (../../CAMD, $(wildcard ../../CAMD))
             ifeq (../../CCOLAMD, $(wildcard ../../CCOLAMD))
                 # METIS, CAMD, and CCOLAMD are available
-                LIB_WITH_PARTITION = $(METIS) ../../CCOLAMD/Lib/libccolamd.a \
-                    ../../CAMD/Lib/libcamd.a
+                LIB_WITH_PARTITION = $(METIS) -lccolamd \
+                    -lcamd
                 I_WITH_PARTITION = -I$(METIS_PATH)/Lib \
                     -I../../CCOLAMD/Include -I../../CAMD/Include
                 CONFIG =
@@ -107,13 +107,13 @@
 	- $(V) ./qrdemoc < ../Matrix/young1c.mtx
 
 ../Lib/libspqr.a:
-	( cd ../Lib ; $(MAKE) )
+#	( cd ../Lib ; $(MAKE) )
 
 ../../AMD/Lib/libamd.a:
-	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../../AMD ; $(MAKE) library )
 
 ../../SuiteSparse_config/libsuitesparseconfig.a:
-	( cd ../../SuiteSparse_config ; $(MAKE) library )
+#	( cd ../../SuiteSparse_config ; $(MAKE) library )
 
 ../../CHOLMOD/Lib/libcholmod.a:
 	- ( cd ../../CHOLMOD && $(MAKE) library )
@@ -131,9 +131,9 @@
 	( cd $(METIS_PATH) && $(MAKE) )
 
 library:
-	( cd ../Lib ; $(MAKE) )
-	( cd ../../AMD ; $(MAKE) library )
-	( cd ../../SuiteSparse_config ; $(MAKE) library )
+#	( cd ../Lib ; $(MAKE) )
+#	( cd ../../AMD ; $(MAKE) library )
+#	( cd ../../SuiteSparse_config ; $(MAKE) library )
 	- ( cd ../../CHOLMOD && $(MAKE) library )
 	- ( cd ../../COLAMD && $(MAKE) library )
 	- ( cd ../../CCOLAMD && $(MAKE) library )
--- ./SPQR/Lib/Makefile.orig	2012-06-21 02:37:08.000000000 -0300
+++ ./SPQR/Lib/Makefile	2014-10-03 09:51:48.444522872 -0300
@@ -37,9 +37,9 @@
 # 	-Wredundant-decls -Wdisabled-optimization \
 # 	-ansi -fexceptions
 
-all: libspqr.a
+all: libspqr.so
 
-library: libspqr.a
+library: libspqr.so
 
 purge: distclean
 
@@ -105,6 +105,10 @@
 	$(ARCHIVE)  libspqr.a $(OBJ)
 	- $(RANLIB) libspqr.a
 
+libspqr.so: $(OBJ)
+	cc $(LDFLAGS) -fPIC -shared -Wl,-soname,libspqr.so.1 -o ../../libspqr.so.1.3.3 -I../Include -I../../SuiteSparse_config -I/usr/include/suitesparse $(OBJ)
+	( cd ../../; ln -sf libspqr.so.1.3.3 libspqr.so.1; ln -sf libspqr.so.1 libspqr.so )
+
 spqr_1colamd.o: ../Source/spqr_1colamd.cpp
 	$(C) -c $<
 
