--- AMD/Demo/Makefile.orig 2014-10-01 18:52:11.373161939 +0200 +++ AMD/Demo/Makefile 2014-10-01 18:55:15.923154199 +0200 @@ -26,22 +26,22 @@ dist: amd_demo: amd_demo.c library $(INC) - $(C) -o amd_demo amd_demo.c ../Lib/libamd.a $(LIB2) + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) -I../Include -o amd_demo amd_demo.c ../Lib/libamd.la $(LIB2) ./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) + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) -I../Include -o amd_l_demo amd_l_demo.c ../Lib/libamd.la $(LIB2) ./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) + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) -I../Include -o amd_demo2 amd_demo2.c ../Lib/libamd.la $(LIB2) ./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) + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) -I../Include -o amd_simple amd_simple.c ../Lib/libamd.la $(LIB2) ./amd_simple > my_amd_simple.out - diff amd_simple.out my_amd_simple.out @@ -54,23 +54,20 @@ cross: amd_f77cross amd_f77demo: amd_f77demo.f f77lib - $(F77) $(F77FLAGS) -o amd_f77demo amd_f77demo.f ../Lib/libamdf77.a \ - $(F77LIB) + libtool --tag=F77 --mode=link $(F77) $(LDFLAGS) $(F77FLAGS) -I../Include -o amd_f77demo amd_f77demo.f ../Lib/libamdf77.la $(F77LIB) ./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) + libtool --tag=F77 --mode=link $(F77) $(LDFLAGS) $(F77FLAGS) -I../Include -o amd_f77simple amd_f77simple.f ../Lib/libamdf77.la $(F77LIB) ./amd_f77simple > my_amd_f77simple.out - diff amd_f77simple.out my_amd_f77simple.out amd_f77wrapper.o: amd_f77wrapper.c - $(C) -DDINT -c amd_f77wrapper.c + libtool --tag=CC --mode=compile $(CC) $(CFLAGS) -DDINT -I../Include -o amd_amd_f77wrapper.o amd_f77wrapper.c -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: amd_f77cross.f amd_f77wrapper.o ../Lib/libamd.la + libtool --tag=F77 --mode=link $(F77) $(LDFLAGS) $(F77FLAGS) -I../Include -o amd_f77cross amd_f77cross.f ../Lib/libamd.la $(F77LIB) ./amd_f77cross > my_amd_f77cross.out - diff amd_f77cross.out my_amd_f77cross.out --- AMD/Lib/GNUmakefile.orig 2014-10-01 18:52:11.376495274 +0200 +++ AMD/Lib/GNUmakefile 2014-10-01 18:58:19.216479852 +0200 @@ -2,7 +2,7 @@ # AMD Makefile for compiling on Unix systems (for GNU make only) #------------------------------------------------------------------------------- -default: libamd.a +default: libamd.la include /usr/share/misc/SuiteSparse_config.mk @@ -29,37 +29,43 @@ #------------------------------------------------------------------------------- amd_i_%.o: ../Source/amd_%.c $(INC) - $(C) -DDINT -c $< -o $@ + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@ amd_l_%.o: ../Source/amd_%.c $(INC) - $(C) -DDLONG -c $< -o $@ + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@ #------------------------------------------------------------------------------- # Create the libamd.a library (C versions only) #------------------------------------------------------------------------------- -libamd.a: $(AMDI) $(AMDL) - $(ARCHIVE) libamd.a $^ - - $(RANLIB) libamd.a +libamd.la: $(AMDI) $(AMDL) + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) -o libamd.la -rpath $(libdir) $(^:.o=.lo) -lsuitesparseconfig -lm + +install: libamd.la + install -d $(DESTDIR)$(libdir) + libtool --mode=install install libamd.la $(DESTDIR)$(libdir) #------------------------------------------------------------------------------- # compile the Fortran versions and the libamdf77.a library #------------------------------------------------------------------------------- -fortran: libamdf77.a +fortran: libamdf77.la AMDF77 = amd.o amdbar.o amd.o: ../Source/amd.f - $(F77) $(F77FLAGS) -c ../Source/amd.f -o amd.o + libtool --tag=F77 --mode=compile $(F77) $(F77FLAGS) -c ../Source/amd.f -o amd.o amdbar.o: ../Source/amdbar.f - $(F77) $(F77FLAGS) -c ../Source/amdbar.f -o amdbar.o + libtool --tag=F77 --mode=compile $(F77) $(F77FLAGS) -c ../Source/amdbar.f -o amdbar.o -libamdf77.a: $(AMDF77) - $(ARCHIVE) libamdf77.a $^ - - $(RANLIB) libamdf77.a +libamdf77.la: $(AMDF77) + libtool --tag=F77 --mode=link $(F77) $(LDFLAGS) -o libamdf77.la -rpath $(libdir) $(^:.o=.lo) -lm +install-fortran: libamdf77.la + install -d $(DESTDIR)$(libdir) + libtool --mode=install install libamdf77.la $(DESTDIR)$(libdir) + #------------------------------------------------------------------------------- # Remove all but the files in the original distribution #------------------------------------------------------------------------------- @@ -70,4 +76,4 @@ purge: distclean distclean: clean - - $(RM) libamd.a libamdf77.a + - $(RM) libamd.la libamdf77.la