Mercurial > mxe-octave
annotate src/suitesparse.mk @ 2887:7811f0697a7a
fix suitesparse build
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 28 Nov 2012 21:23:43 -0500 |
parents | c766e4afd493 |
children | 4f9b72cf7ee7 |
rev | line source |
---|---|
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2240
diff
changeset
|
1 # This file is part of MXE. |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2349
diff
changeset
|
2 # See index.html for further information. |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
3 |
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
4 PKG := suitesparse |
2726 | 5 $(PKG)_CHECKSUM := 46b24a28eef4b040ea5a02d2c43e82e28b7d6195 |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
6 $(PKG)_SUBDIR := SuiteSparse |
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
7 $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
8 $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE) |
2738
3b14416f4c51
package suitesparse: add secondary url
Tony Theodore <tonyt@logyst.com>
parents:
2726
diff
changeset
|
9 $(PKG)_URL_2 := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE) |
1440
30fed101654f
remove package metis because it is not (yet) Free Software
Volker Grabsch <vog@notjusthosting.com>
parents:
1439
diff
changeset
|
10 $(PKG)_DEPS := gcc blas lapack |
1372
4c3f4e0e3194
improvements for packages: metis suitesparse
Tony Theodore <tonyt@logyst.com>
parents:
1371
diff
changeset
|
11 |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
12 define $(PKG)_UPDATE |
2525
4d0f3a9da57e
all packages: use $(WGET) portability variable
Tony Theodore <tonyt@logyst.com>
parents:
2483
diff
changeset
|
13 $(WGET) -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
14 $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \ |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
15 head -1 |
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
16 endef |
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
17 |
2887 | 18 $(PKG)_STATICLIBS_1 := \ |
19 SuiteSparse_config/libsuitesparseconfig.a \ | |
20 SuiteSparse_config/xerbla/libcerbla.a \ | |
21 AMD/Lib/libamd.a \ | |
22 CAMD/Lib/libcamd.a \ | |
23 COLAMD/Lib/libcolamd.a \ | |
24 CCOLAMD/Lib/libccolamd.a \ | |
25 CSparse/Lib/libcsparse.a \ | |
26 CXSparse/Lib/libcxsparse.a \ | |
27 SPQR/Lib/libspqr.a \ | |
28 BTF/Lib/libbtf.a \ | |
29 LDL/Lib/libldl.a \ | |
30 KLU/Lib/libklu.a \ | |
31 RBio/Lib/librbio.a \ | |
32 CHOLMOD/Lib/libcholmod.a \ | |
33 UMFPACK/Lib/libumfpack.a | |
34 | |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
35 define $(PKG)_BUILD |
1386
0f61e783e13a
fix build issues of packages: lapack suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1385
diff
changeset
|
36 # exclude demos |
0f61e783e13a
fix build issues of packages: lapack suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1385
diff
changeset
|
37 find '$(1)' -name 'Makefile' \ |
0f61e783e13a
fix build issues of packages: lapack suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1385
diff
changeset
|
38 -exec $(SED) -i 's,( cd Demo,#( cd Demo,' {} \; |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
39 |
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
40 # build all |
1439
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
41 $(MAKE) -C '$(1)' -j '$(JOBS)' \ |
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
42 CC='$(TARGET)-gcc' \ |
2887 | 43 CXX='$(TARGET)-g++' \ |
1439
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
44 CPLUSPLUS='$(TARGET)-g++' \ |
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
45 F77='$(TARGET)-gfortran' \ |
2483
10ed3017dcb8
package suitesparse: fix compiling 3.7.0
Alois Schlögl <alois.schloegl@ist.ac.at>
parents:
2365
diff
changeset
|
46 AR='$(TARGET)-ar' \ |
1439
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
47 RANLIB='$(TARGET)-ranlib' \ |
b505b699c280
cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1390
diff
changeset
|
48 BLAS='-lblas -lgfortran -lgfortranbegin' \ |
1440
30fed101654f
remove package metis because it is not (yet) Free Software
Volker Grabsch <vog@notjusthosting.com>
parents:
1439
diff
changeset
|
49 CHOLMOD_CONFIG='-DNPARTITION' |
1372
4c3f4e0e3194
improvements for packages: metis suitesparse
Tony Theodore <tonyt@logyst.com>
parents:
1371
diff
changeset
|
50 |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
51 # install library files |
1376
896bc60de2a9
improvements for packages: cblas lapack suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
1375
diff
changeset
|
52 $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' |
2887 | 53 |
54 for f in $(addprefix $(1)/, $($(PKG)_STATICLIBS_1)); do \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
55 if [ $(BUILD_SHARED) = yes ]; then \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
56 lib=`basename $$f .a`; \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
57 dir=`dirname $$f`; \ |
2887 | 58 echo "building and installing shared libraries for $$lib"; \ |
59 deplibs=""; \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
60 case $$lib in \ |
2887 | 61 libcholmod) \ |
62 deplibs="-lamd -lcolamd -lsuitesparseconfig -llapack -lblas"; \ | |
63 ;; \ | |
64 libklu) \ | |
65 deplibs="-lbtf -lamd -lcolamd -lsuitesparseconfig"; \ | |
66 ;; \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
67 librbio) \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
68 deplibs="-lsuitesparseconfig"; \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
69 ;; \ |
2887 | 70 libspqr) \ |
71 deplibs="-lcholmod -lsuitesparseconfig -llapack -lblas"; \ | |
72 ;; \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
73 libumfpack) \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
74 deplibs="-lcholmod -lamd -lsuitesparseconfig -lblas"; \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
75 ;; \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
76 esac; \ |
2887 | 77 if [ -n "$deplibs" ]; then \ |
78 echo " deplibs = $$deplibs"; \ | |
79 fi; \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
80 $(MAKE_SHARED_FROM_STATIC) --ar '$(TARGET)-ar' --ld '$(TARGET)-g++' $$f $$deplibs; \ |
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
81 $(INSTALL) -d '$(PREFIX)/$(TARGET)/bin'; \ |
2887 | 82 $(INSTALL) -m755 $$dir/$$lib.dll.a $(PREFIX)/$(TARGET)/lib/$$lib.dll.a; \ |
83 $(INSTALL) -m755 $$dir/$$lib.dll $(PREFIX)/$(TARGET)/bin/$$lib.dll; \ | |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
84 fi; \ |
2887 | 85 $(INSTALL) -m644 $$f $(PREFIX)/$(TARGET)/lib/$$lib.a; \ |
2868
1c18d3bb1829
Include suitesparse as a dependency of Octave
John W. Eaton <jwe@octave.org>
parents:
2738
diff
changeset
|
86 done |
1376
896bc60de2a9
improvements for packages: cblas lapack suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
1375
diff
changeset
|
87 |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
88 # install include files |
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1377
diff
changeset
|
89 $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/' |
2580
97cac7d4eb98
package suitesparse: install config header
Mark Brand <mabrand@mabrand.nl>
parents:
2579
diff
changeset
|
90 $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
1390
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
91 $(INSTALL) -m644 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
92 $(INSTALL) -m644 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
93 $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
94 $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
95 $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
96 $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
2579
0239d613b455
update package suitesparse
Mark Brand <mabrand@mabrand.nl>
parents:
2538
diff
changeset
|
97 $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
1390
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
98 $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
99 $(INSTALL) -m644 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
100 $(INSTALL) -m644 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
101 $(INSTALL) -m644 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/' |
7fae546007a1
fix dummy permissions (664 -> 644)
Volker Grabsch <vog@notjusthosting.com>
parents:
1388
diff
changeset
|
102 $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' |
1371
c9905856c931
new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
103 endef |