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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
d242b96f3650 fix suitesparse checksum
Tony Theodore <tonyt@logyst.com>
parents: 2670
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
18 $(PKG)_STATICLIBS_1 := \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
19 SuiteSparse_config/libsuitesparseconfig.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
20 SuiteSparse_config/xerbla/libcerbla.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
21 AMD/Lib/libamd.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
22 CAMD/Lib/libcamd.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
23 COLAMD/Lib/libcolamd.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
24 CCOLAMD/Lib/libccolamd.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
25 CSparse/Lib/libcsparse.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
26 CXSparse/Lib/libcxsparse.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
27 SPQR/Lib/libspqr.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
28 BTF/Lib/libbtf.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
29 LDL/Lib/libldl.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
30 KLU/Lib/libklu.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
31 RBio/Lib/librbio.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
32 CHOLMOD/Lib/libcholmod.a \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
33 UMFPACK/Lib/libumfpack.a
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
53
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
58 echo "building and installing shared libraries for $$lib"; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
61 libcholmod) \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
62 deplibs="-lamd -lcolamd -lsuitesparseconfig -llapack -lblas"; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
63 ;; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
64 libklu) \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
65 deplibs="-lbtf -lamd -lcolamd -lsuitesparseconfig"; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
70 libspqr) \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
71 deplibs="-lcholmod -lsuitesparseconfig -llapack -lblas"; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
77 if [ -n "$deplibs" ]; then \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
78 echo " deplibs = $$deplibs"; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
82 $(INSTALL) -m755 $$dir/$$lib.dll.a $(PREFIX)/$(TARGET)/lib/$$lib.dll.a; \
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
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