Mercurial > mxe-octave
comparison src/suitesparse.mk @ 1376:896bc60de2a9
improvements for packages: cblas lapack suitesparse
author | Alois Schlögl <alois.schloegl@gmail.com> |
---|---|
date | Tue, 16 Nov 2010 19:13:33 +0100 |
parents | 05c3c35ab91e |
children | 948166ab4657 |
comparison
equal
deleted
inserted
replaced
1375:05c3c35ab91e | 1376:896bc60de2a9 |
---|---|
7 $(PKG)_VERSION := 3.4.0 | 7 $(PKG)_VERSION := 3.4.0 |
8 $(PKG)_CHECKSUM := 6de027d48a573659b40ddf57c10e32b39ab034c6 | 8 $(PKG)_CHECKSUM := 6de027d48a573659b40ddf57c10e32b39ab034c6 |
9 $(PKG)_SUBDIR := SuiteSparse | 9 $(PKG)_SUBDIR := SuiteSparse |
10 $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz | 10 $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz |
11 $(PKG)_WEBSITE := http://www.cise.ufl.edu/ | 11 $(PKG)_WEBSITE := http://www.cise.ufl.edu/ |
12 $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.4.0.tar.gz | 12 $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-$($(PKG)_VERSION).tar.gz |
13 $(PKG)_DEPS := gcc metis lapack | 13 $(PKG)_DEPS := gcc metis lapack |
14 | 14 |
15 define $(PKG)_UPDATE | 15 define $(PKG)_UPDATE |
16 wget -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ | 16 wget -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ |
17 $(SED) -n 's,.*SuiteSparse-\([0-9]\.[0-9]\.[0-9]\)\.tar.*,\1,ip' | \ | 17 $(SED) -n 's,.*SuiteSparse-\([0-9]\.[0-9]\.[0-9]\)\.tar.*,\1,ip' | \ |
27 $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/$(metis_SUBDIR)/Makefile.in | 27 $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/$(metis_SUBDIR)/Makefile.in |
28 $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/$(metis_SUBDIR)/Makefile.in | 28 $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/$(metis_SUBDIR)/Makefile.in |
29 $(MAKE) -C '$(1)/$(metis_SUBDIR)/Lib' -j '$(JOBS)' | 29 $(MAKE) -C '$(1)/$(metis_SUBDIR)/Lib' -j '$(JOBS)' |
30 | 30 |
31 # Otherwise hack the config so it can find metis | 31 # Otherwise hack the config so it can find metis |
32 #$(SED) -i 's,\(METIS_PATH = \)\(../../metis-4.0\),\1'$(PREFIX)/$(TARGET)/include/metis',' $(1)/UFconfig/UFconfig.mk | 32 #$(SED) -i 's,\(METIS_PATH = \)\(. $(INSTALL) -m664 '$(1)/. $(INSTALL) -m664 '$(1)/metis-4.0\),\1'$(PREFIX)/$(TARGET)/include/metis',' $(1)/UFconfig/UFconfig.mk |
33 #$(SED) -i 's,\(METIS = \)\(../../metis-4.0/libmetis.a\),\1'$(PREFIX)/$(TARGET)/lib/libmetis.a',' $(1)/UFconfig/UFconfig.mk | 33 #$(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 |
34 | 34 |
35 # use cross tools | 35 # use cross tools |
36 $(SED) -i 's,cc,$(TARGET)-gcc,' $(1)/UFconfig/UFconfig.mk | 36 $(SED) -i 's,cc,$(TARGET)-gcc,' $(1)/UFconfig/UFconfig.mk |
37 $(SED) -i 's,g++,$(TARGET)-g++,' $(1)/UFconfig/UFconfig.mk | 37 $(SED) -i 's,g++,$(TARGET)-g++,' $(1)/UFconfig/UFconfig.mk |
38 $(SED) -i 's,f77,$(TARGET)-gfortran,' $(1)/UFconfig/UFconfig.mk | 38 $(SED) -i 's,f77,$(TARGET)-gfortran,' $(1)/UFconfig/UFconfig.mk |
39 $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/UFconfig/UFconfig.mk | 39 $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/UFconfig/UFconfig.mk |
40 $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/UFconfig/UFconfig.mk | 40 $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/UFconfig/UFconfig.mk |
41 | 41 |
42 # use BLAS from GSL since it's already part of mingw-cross-env | 42 # gfortran does not need libg2c |
43 $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk | 43 $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk |
44 | 44 |
45 # however, we get linking errros | 45 # Missing _drand48 and _srand48 cause problems in demos |
46 #$(TARGET)-gcc -c $(1)/CHOLMOD/MATLAB/Windows/rand48.c -o $(1)/CHOLMOD/Lib/rand48.o | |
47 #$(SED) -i 's,libcholmod.a: $$(OBJ),libcholmod.a: $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile | |
48 #$(SED) -i 's,$$(AR) libcholmod.a $$(OBJ),$$(AR) libcholmod.a $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile | |
49 # Here we choose to exclude the demos from building in order to avoid the _rand48 problems | |
50 $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/CHOLMOD/Makefile | |
51 $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/SPQR/Makefile | |
52 | |
53 # Built all | |
46 $(MAKE) -C '$(1)' -j '$(JOBS)' | 54 $(MAKE) -C '$(1)' -j '$(JOBS)' |
47 | 55 |
48 # CHOLMOD has no errors on it's own though, but seems to be missing a link step | 56 # Install library files |
49 $(MAKE) -C '$(1)/CHOLMOD/Lib' -j '$(JOBS)' | 57 $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' |
58 for i in `cd $(1) && find . -name *.a`; do \ | |
59 $(INSTALL) -m664 '$(1)/'$$i '$(PREFIX)/$(TARGET)/lib/' ; \ | |
60 done; | |
61 | |
62 # Install include files | |
63 $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
64 $(INSTALL) -m664 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
65 $(INSTALL) -m664 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
66 $(INSTALL) -m664 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
67 $(INSTALL) -m664 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
68 $(INSTALL) -m664 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
69 $(INSTALL) -m664 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
70 $(INSTALL) -m664 '$(1)/CXSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
71 $(INSTALL) -m664 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
72 $(INSTALL) -m664 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
73 $(INSTALL) -m664 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
74 $(INSTALL) -m664 '$(1)/UFconfig/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
75 $(INSTALL) -m664 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' | |
50 | 76 |
51 endef | 77 endef |
52 | 78 |
53 | 79 |