comparison src/suitesparse.mk @ 3671:95454fa2df8b

suitesparse: fix native mingw build * src/suitesparse.mk: use PKG_DESTDIR for destination installation, use -lblas instead of PKG_BLAS_LIB
author John Donoghue
date Mon, 28 Jul 2014 15:41:31 -0400
parents a0eaddc0b7ba
children c734f4d39243
comparison
equal deleted inserted replaced
3670:9985fed66b1c 3671:95454fa2df8b
8 $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz 8 $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz
9 $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE) 9 $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE)
10 $(PKG)_URL_2 := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE) 10 $(PKG)_URL_2 := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE)
11 $(PKG)_DEPS := blas lapack 11 $(PKG)_DEPS := blas lapack
12 12
13 $(PKG)_BLAS_LIB := blas 13 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
14 $(PKG)_DESTDIR :=
15 else
16 $(PKG)_DESTDIR := $(3)
17 endif
14 18
15 define $(PKG)_UPDATE 19 define $(PKG)_UPDATE
16 $(WGET) -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ 20 $(WGET) -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \
17 $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \ 21 $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \
18 head -1 22 head -1
64 FFLAGS='$(MXE_FFLAGS)' \ 68 FFLAGS='$(MXE_FFLAGS)' \
65 CFLAGS='$(MXE_CFLAGS)' \ 69 CFLAGS='$(MXE_CFLAGS)' \
66 CXXFLAGS='$(MXE_CXXFLAGS)' \ 70 CXXFLAGS='$(MXE_CXXFLAGS)' \
67 AR='$(MXE_AR)' \ 71 AR='$(MXE_AR)' \
68 RANLIB='$(MXE_RANLIB)' \ 72 RANLIB='$(MXE_RANLIB)' \
69 BLAS='-l$($(PKG)_BLAS_LIB) -lgfortran -lgfortranbegin' \ 73 BLAS='-lblas -lgfortran -lgfortranbegin' \
70 CHOLMOD_CONFIG='-DNPARTITION' 74 CHOLMOD_CONFIG='-DNPARTITION'
71 75
72 # install library files 76 # install library files
73 $(INSTALL) -d '$(3)$(HOST_LIBDIR)' 77 $(INSTALL) -d '$($(PKG)_DESTDIR)$(HOST_LIBDIR)'
74 78
75 for f in $(addprefix $(1)/, $($(PKG)_STATICLIBS_1)); do \ 79 for f in $(addprefix $(1)/, $($(PKG)_STATICLIBS_1)); do \
76 if [ $(BUILD_SHARED) = yes ]; then \ 80 if [ $(BUILD_SHARED) = yes ]; then \
77 lib=`basename $$f .a`; \ 81 lib=`basename $$f .a`; \
78 dir=`dirname $$f`; \ 82 dir=`dirname $$f`; \
79 echo "building and installing shared libraries for $$lib"; \ 83 echo "building and installing shared libraries for $$lib"; \
80 deplibs=""; \ 84 deplibs=""; \
81 case $$lib in \ 85 case $$lib in \
82 libcholmod) \ 86 libcholmod) \
83 deplibs="-lamd -lcamd -lcolamd -lccolamd -lsuitesparseconfig -llapack -l$($(PKG)_BLAS_LIB)"; \ 87 deplibs="-lamd -lcamd -lcolamd -lccolamd -lsuitesparseconfig -llapack -lblas"; \
84 ;; \ 88 ;; \
85 libklu) \ 89 libklu) \
86 deplibs="-lbtf -lamd -lcolamd -lsuitesparseconfig"; \ 90 deplibs="-lbtf -lamd -lcolamd -lsuitesparseconfig"; \
87 ;; \ 91 ;; \
88 librbio) \ 92 librbio) \
89 deplibs="-lsuitesparseconfig"; \ 93 deplibs="-lsuitesparseconfig"; \
90 ;; \ 94 ;; \
91 libspqr) \ 95 libspqr) \
92 deplibs="-lcholmod -lsuitesparseconfig -llapack -l$($(PKG)_BLAS_LIB)"; \ 96 deplibs="-lcholmod -lsuitesparseconfig -llapack -lblas"; \
93 ;; \ 97 ;; \
94 libumfpack) \ 98 libumfpack) \
95 deplibs="-lcholmod -lamd -lsuitesparseconfig -l$($(PKG)_BLAS_LIB)"; \ 99 deplibs="-lcholmod -lamd -lsuitesparseconfig -lblas"; \
96 ;; \ 100 ;; \
97 esac; \ 101 esac; \
98 if [ -n "$deplibs" ]; then \ 102 if [ -n "$deplibs" ]; then \
99 echo " deplibs = $$deplibs"; \ 103 echo " deplibs = $$deplibs"; \
100 fi; \ 104 fi; \
101 $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $$f --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' $$deplibs; \ 105 $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $$f --install '$(INSTALL)' --libdir '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' --bindir '$($(PKG)_DESTDIR)$(HOST_BINDIR)' $$deplibs; \
102 fi; \ 106 fi; \
103 done 107 done
104 108
105 # install include files 109 # install include files
106 $(INSTALL) -d '$(3)$(HOST_INCDIR)/suitesparse/' 110 $(INSTALL) -d '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
107 $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 111 $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
108 $(INSTALL) -m644 '$(1)/AMD/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 112 $(INSTALL) -m644 '$(1)/AMD/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
109 $(INSTALL) -m644 '$(1)/BTF/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 113 $(INSTALL) -m644 '$(1)/BTF/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
110 $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 114 $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
111 $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 115 $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
112 $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 116 $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
113 $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 117 $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
114 $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 118 $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
115 $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 119 $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
116 $(INSTALL) -m644 '$(1)/KLU/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 120 $(INSTALL) -m644 '$(1)/KLU/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
117 $(INSTALL) -m644 '$(1)/LDL/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 121 $(INSTALL) -m644 '$(1)/LDL/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
118 $(INSTALL) -m644 '$(1)/SPQR/Include/'* '$(3)$(HOST_INCDIR)/suitesparse/' 122 $(INSTALL) -m644 '$(1)/SPQR/Include/'* '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
119 $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/' 123 $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h '$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/'
120 endef 124 endef