diff options
author | Alois Schlögl <alois.schloegl@gmail.com> | 2010-11-16 18:13:33 (GMT) |
---|---|---|
committer | Alois Schlögl <alois.schloegl@gmail.com> | 2010-11-16 18:13:33 (GMT) |
commit | 66de4ee9ec029405130624dd903343e32f0f90b1 (patch) | |
tree | fc92c11bc4d92903fb2392d16623d9357c022ea8 | |
parent | 2ae67527a82fd8fbd4f2564d739ae657410542b0 (diff) | |
download | mxe-66de4ee9ec029405130624dd903343e32f0f90b1.zip mxe-66de4ee9ec029405130624dd903343e32f0f90b1.tar.gz mxe-66de4ee9ec029405130624dd903343e32f0f90b1.tar.bz2 |
improvements for packages: cblas lapack suitesparse
-rw-r--r-- | src/cblas.mk | 12 | ||||
-rw-r--r-- | src/lapack.mk | 26 | ||||
-rw-r--r-- | src/suitesparse.mk | 40 |
3 files changed, 49 insertions, 29 deletions
diff --git a/src/cblas.mk b/src/cblas.mk index a71d43e..2dac910 100644 --- a/src/cblas.mk +++ b/src/cblas.mk @@ -8,18 +8,18 @@ $(PKG)_VERSION := $(PKG)_CHECKSUM := a8a765ebb8d753c7ad161ccd9191be42d3dc8bd9 $(PKG)_SUBDIR := CBLAS $(PKG)_FILE := cblas.tgz -$(PKG)_WEBSITE := http://www.netlib.org/ +$(PKG)_WEBSITE := http://www.netlib.org/blas $(PKG)_URL := http://www.netlib.org/blas/blast-forum/cblas.tgz $(PKG)_DEPS := gcc define $(PKG)_BUILD - cp $(1)/Makefile.LINUX $(1)/Makefile.WIN32 - $(SED) -i 's,CBDIR = $$(HOME)/CBLAS,CBDIR = $(1),g' '$(1)/Makefile.WIN32' - $(SED) -i 's,FC = g77,FC = $(TARGET)-gfortran,g' '$(1)/Makefile.WIN32' - ln -s $(1)/Makefile.WIN32 $(1)/Makefile.in - mkdir $(1)/WIN32 + cp $(1)/Makefile.LINUX $(1)/Makefile.MINGW32 + $(SED) -i 's,CBDIR = $$(HOME)/CBLAS,CBDIR = $(1),g' '$(1)/Makefile.MINGW32' + $(SED) -i 's,FC = g77,FC = $(TARGET)-gfortran,g' '$(1)/Makefile.MINGW32' + ln -s $(1)/Makefile.MINGW32 $(1)/Makefile.in + mkdir $(1)/MINGW32 make -C $(1) alllib cd $(1) && $(TARGET)-ar cr libcblas.a src/*.o diff --git a/src/lapack.mk b/src/lapack.mk index e7b0522..343adb0 100644 --- a/src/lapack.mk +++ b/src/lapack.mk @@ -1,7 +1,6 @@ # This file is part of mingw-cross-env. # See doc/index.html for further information. -# -# + # lapack PKG := lapack @@ -9,9 +8,9 @@ $(PKG)_IGNORE := $(PKG)_VERSION := 3.2.2 $(PKG)_CHECKSUM := a434c45932f6affb654b3abde21dd669f5751633 $(PKG)_SUBDIR := lapack-$($(PKG)_VERSION) -$(PKG)_FILE := lapack.tgz -$(PKG)_WEBSITE := http://www.netlib.org/ -$(PKG)_URL := http://www.netlib.org/lapack/lapack.tgz +$(PKG)_FILE := lapack-$($(PKG)_VERSION).tgz +$(PKG)_WEBSITE := http://www.netlib.org/lapack +$(PKG)_URL := http://www.netlib.org/lapack/$($(PKG)_FILE) $(PKG)_DEPS := gcc define $(PKG)_UPDATE @@ -21,24 +20,19 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - cp $(1)/make.inc.example $(1)/make.inc - $(SED) -i 's,PLAT = _LINUX,PLAT = _WIN32,g' '$(1)/make.inc' + $(SED) -i 's,PLAT = _LINUX,PLAT = _MINGW32,g' '$(1)/make.inc' $(SED) -i 's,gfortran,$(TARGET)-gfortran,g' '$(1)/make.inc' $(SED) -i 's, ar, $(TARGET)-ar,g' '$(1)/make.inc' $(SED) -i 's, ranlib, $(TARGET)-ranlib,g' '$(1)/make.inc' - ## build Lapack - make -C $(1) lapacklib - cp $(1)/lapack_WIN32.a $(1)/liblapack.a + ## build Blas and Lapack + make -C $(1) lapacklib blaslib + cp $(1)/lapack_MINGW32.a $(1)/liblapack.a + cp $(1)/blas_MINGW32.a $(1)/libblas.a $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' - $(INSTALL) -m664 '$(1)/liblapack.a' '$(PREFIX)/$(TARGET)/lib/' - - ## build Blas - make -C $(1) blaslib - cp $(1)/blas_WIN32.a $(1)/libblas.a $(INSTALL) -m664 '$(1)/libblas.a' '$(PREFIX)/$(TARGET)/lib/' - + $(INSTALL) -m664 '$(1)/liblapack.a' '$(PREFIX)/$(TARGET)/lib/' endef diff --git a/src/suitesparse.mk b/src/suitesparse.mk index 0fffcde..5244c7d 100644 --- a/src/suitesparse.mk +++ b/src/suitesparse.mk @@ -9,7 +9,7 @@ $(PKG)_CHECKSUM := 6de027d48a573659b40ddf57c10e32b39ab034c6 $(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-3.4.0.tar.gz +$(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-$($(PKG)_VERSION).tar.gz $(PKG)_DEPS := gcc metis lapack define $(PKG)_UPDATE @@ -29,8 +29,8 @@ define $(PKG)_BUILD $(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 + #$(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 @@ -39,14 +39,40 @@ define $(PKG)_BUILD $(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 + # gfortran does not need libg2c $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk - # however, we get linking errros + # 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 + + # Built all $(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)' + # 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; + + # 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/' endef |