summaryrefslogtreecommitdiffstats
path: root/src/suitesparse.mk
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2010-11-16 18:05:50 (GMT)
committerTony Theodore <tonyt@logyst.com>2010-11-16 18:05:50 (GMT)
commitd60b42fa532a0703a3f7b79125889cbd823183f9 (patch)
tree8b8ae676c9dea6875900afadcec7fabac85154c3 /src/suitesparse.mk
parent6bce5c4aec599e4419ea66f174c1feda2c2e9e20 (diff)
downloadmxe-d60b42fa532a0703a3f7b79125889cbd823183f9.zip
mxe-d60b42fa532a0703a3f7b79125889cbd823183f9.tar.gz
mxe-d60b42fa532a0703a3f7b79125889cbd823183f9.tar.bz2
improvements for packages: metis suitesparse
Diffstat (limited to 'src/suitesparse.mk')
-rw-r--r--src/suitesparse.mk35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/suitesparse.mk b/src/suitesparse.mk
index 4b9f428..eaa5184 100644
--- a/src/suitesparse.mk
+++ b/src/suitesparse.mk
@@ -11,6 +11,7 @@ $(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-3.4.0.tar.gz
$(PKG)_DEPS := gcc metis
+
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' | \
@@ -18,11 +19,35 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
- cd '$(1)' && CHOST='$(TARGET)'
-# cd '$(1)' && CHOST='$(TARGET)' ./configure \
-# --prefix='$(PREFIX)/$(TARGET)' \
-# --static
- $(MAKE) -C '$(1)' -j '$(JOBS)'
+
+ # If not building metis in it's makefile, then
+ # build it here since the config seems to expect it
+ cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,metis)
+ $(SED) -i 's,cc,$(TARGET)-gcc,' $(1)/$(metis_SUBDIR)/Makefile.in
+ $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/$(metis_SUBDIR)/Makefile.in
+ $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/$(metis_SUBDIR)/Makefile.in
+ $(MAKE) -C '$(1)/$(metis_SUBDIR)/Lib' -j '$(JOBS)'
+
+ # Otherwise hack the config so it can find metis
+ #$(SED) -i 's,\(METIS_PATH = \)\(../../metis-4.0\),\1'$(PREFIX)/$(TARGET)/include/metis',' $(1)/UFconfig/UFconfig.mk
+ #$(SED) -i 's,\(METIS = \)\(../../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
+
+ # use BLAS from GSL since it's already part of mingw-cross-env
+ $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lgslcblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk
+
+ # however, we get linking errros
+ #$(MAKE) -C '$(1)' -j '$(JOBS)'
+
+ # CHOLMOD has no errors on it's own though, but seems to be missing a link step
+ $(MAKE) -C '$(1)/CHOLMOD/Lib' -j '$(JOBS)'
+
endef