diff src/suitesparse.mk @ 1385:08b296ec290e

cleanup packages: blas cblas lapack metis suitesparse
author Volker Grabsch <vog@notjusthosting.com>
date Wed, 17 Nov 2010 00:52:47 +0100
parents 948166ab4657
children 0f61e783e13a
line wrap: on
line diff
--- a/src/suitesparse.mk	Wed Nov 17 00:48:20 2010 +0100
+++ b/src/suitesparse.mk	Wed Nov 17 00:52:47 2010 +0100
@@ -9,63 +9,54 @@
 $(PKG)_SUBDIR   := SuiteSparse
 $(PKG)_FILE     := SuiteSparse-$($(PKG)_VERSION).tar.gz
 $(PKG)_WEBSITE  := http://www.cise.ufl.edu/
-$(PKG)_URL      := http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-$($(PKG)_VERSION).tar.gz
-$(PKG)_DEPS     := gcc metis lapack
+$(PKG)_URL      := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc metis blas lapack
 
 define $(PKG)_UPDATE
     wget -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \
-    $(SED) -n 's,.*SuiteSparse-\([0-9]\.[0-9]\.[0-9]\)\.tar.*,\1,ip' | \
+    $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \
     head -1
 endef
 
 define $(PKG)_BUILD
-    
-    # change the config to find metis
-    $(SED) -i 's,\(METIS_PATH = \)\(.    $(INSTALL) -m664 '$(1)/.    $(INSTALL) -m664 '$(1)/metis-4.0\),\1'$(PREFIX)/$(TARGET)/include/metis',' $(1)/UFconfig/UFconfig.mk
-    $(SED) -i 's,\(METIS = \)\(.    $(INSTALL) -m664 '$(1)/.    $(INSTALL) -m664 '$(1)/metis-4.0/libmetis.a\),\1'$(PREFIX)/$(TARGET)/lib/libmetis.a',' $(1)/UFconfig/UFconfig.mk
-    
-    # use cross tools
-    $(SED) -i 's,cc,$(TARGET)-gcc,'        $(1)/UFconfig/UFconfig.mk
-    $(SED) -i 's,g++,$(TARGET)-g++,'       $(1)/UFconfig/UFconfig.mk
-    $(SED) -i 's,f77,$(TARGET)-gfortran,'  $(1)/UFconfig/UFconfig.mk
-    $(SED) -i 's,ar ,$(TARGET)-ar ,'       $(1)/UFconfig/UFconfig.mk
-    $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/UFconfig/UFconfig.mk
+    # set path to metis
+    $(SED) -i 's,METIS_PATH =.*,METIS_PATH = $(PREFIX)/$(TARGET)/include/metis,' '$(1)/UFconfig/UFconfig.mk'
+    $(SED) -i 's,METIS =.*,METIS = $(PREFIX)/$(TARGET)/lib/libmetis.a,'          '$(1)/UFconfig/UFconfig.mk'
 
-    # gfortran does not need libg2c 
-    $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk
-    
-    # Missing _drand48 and _srand48 cause problems in demos 	
-    #$(TARGET)-gcc -c $(1)/CHOLMOD/MATLAB/Windows/rand48.c -o $(1)/CHOLMOD/Lib/rand48.o 
-    #$(SED) -i 's,libcholmod.a: $$(OBJ),libcholmod.a: $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile
-    #$(SED) -i 's,$$(AR) libcholmod.a $$(OBJ),$$(AR) libcholmod.a $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile
-    # Here we choose to exclude the demos from building in order to avoid the _rand48 problems
-    $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/CHOLMOD/Makefile
-    $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/SPQR/Makefile
+    # use cross tools
+    $(SED) -i 's,cc,$(TARGET)-gcc,'        '$(1)/UFconfig/UFconfig.mk'
+    $(SED) -i 's,g++,$(TARGET)-g++,'       '$(1)/UFconfig/UFconfig.mk'
+    $(SED) -i 's,f77,$(TARGET)-gfortran,'  '$(1)/UFconfig/UFconfig.mk'
+    $(SED) -i 's,ar ,$(TARGET)-ar ,'       '$(1)/UFconfig/UFconfig.mk'
+    $(SED) -i 's,ranlib,$(TARGET)-ranlib,' '$(1)/UFconfig/UFconfig.mk'
 
-    # Built all
+    # gfortran does not need libg2c
+    $(SED) -i 's,-lg2c,,' '$(1)/UFconfig/UFconfig.mk'
+
+    # exclude the demos from building in order to avoid the _rand48 problems
+    $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' '$(1)/CHOLMOD/Makefile'
+    $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' '$(1)/SPQR/Makefile'
+
+    # build all
     $(MAKE) -C '$(1)' -j '$(JOBS)'
 
-    # Install library files 
+    # install library files
     $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
-    for i in `cd $(1) && find . -name *.a`; do \
-    	$(INSTALL) -m664 '$(1)/'$$i '$(PREFIX)/$(TARGET)/lib/' ; \
-    done;
+    find '$(1)' -name '*.a' \
+        -exec $(INSTALL) -m664 {} '$(PREFIX)/$(TARGET)/lib/' \;
 
-    # Install include files 
-    $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    # install include files
+    $(INSTALL) -d                                '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/AMD/Include/'*.h      '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/BTF/Include/'*.h      '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/CAMD/Include/'*.h     '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/CCOLAMD/Include/'*.h  '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/CHOLMOD/Include/'*.h  '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/COLAMD/Include/'*.h   '$(PREFIX)/$(TARGET)/include/suitesparse/'
     $(INSTALL) -m664 '$(1)/CXSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/UFconfig/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-    $(INSTALL) -m664 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/'
-
+    $(INSTALL) -m664 '$(1)/KLU/Include/'*.h      '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/LDL/Include/'*.h      '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/SPQR/Include/'*       '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/UFconfig/'*.h         '$(PREFIX)/$(TARGET)/include/suitesparse/'
+    $(INSTALL) -m664 '$(1)/UMFPACK/Include/'*.h  '$(PREFIX)/$(TARGET)/include/suitesparse/'
 endef
-
-