Mercurial > hg > mxe
view src/suitesparse.mk @ 3067:b11464811f7f
build shared library for pthreads
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 28 Nov 2012 20:16:38 -0500 |
parents | c766e4afd493 |
children | 7811f0697a7a |
line wrap: on
line source
# This file is part of MXE. # See index.html for further information. PKG := suitesparse $(PKG)_CHECKSUM := 46b24a28eef4b040ea5a02d2c43e82e28b7d6195 $(PKG)_SUBDIR := SuiteSparse $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz $(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE) $(PKG)_URL_2 := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE) $(PKG)_DEPS := gcc blas lapack define $(PKG)_UPDATE $(WGET) -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \ head -1 endef define $(PKG)_BUILD # exclude demos find '$(1)' -name 'Makefile' \ -exec $(SED) -i 's,( cd Demo,#( cd Demo,' {} \; # build all $(MAKE) -C '$(1)' -j '$(JOBS)' \ CC='$(TARGET)-gcc' \ CPLUSPLUS='$(TARGET)-g++' \ F77='$(TARGET)-gfortran' \ AR='$(TARGET)-ar' \ RANLIB='$(TARGET)-ranlib' \ BLAS='-lblas -lgfortran -lgfortranbegin' \ CHOLMOD_CONFIG='-DNPARTITION' # install library files $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' for f in `find '$(1)' -name '*.a'`; do \ if [ $(BUILD_SHARED) = yes ]; then \ lib=`basename $$f .a`; \ dir=`dirname $$f`; \ case $$lib in \ librbio) \ deplibs="-lsuitesparseconfig"; \ ;; \ libumfpack) \ deplibs="-lcholmod -lamd -lsuitesparseconfig -lblas"; \ ;; \ esac; \ $(MAKE_SHARED_FROM_STATIC) --ar '$(TARGET)-ar' --ld '$(TARGET)-g++' $$f $$deplibs; \ $(INSTALL) -d '$(PREFIX)/$(TARGET)/bin'; \ $(INSTALL) -m755 $$dir/$$lib.dll.a '$(PREFIX)/$(TARGET)/lib/'; \ $(INSTALL) -m755 $$dir/$$lib.dll '$(PREFIX)/$(TARGET)/bin/'; \ fi; \ $(INSTALL) -m644 $$f '$(PREFIX)/$(TARGET)/lib/'; \ done # install include files $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' endef