Mercurial > mxe-octave
view src/suitesparse.mk @ 6510:4b8764444acb
Create common github call define and start using it
* Makefile.in: add GITHUB_PKG_UPDATE
* src/blas_switch.mk, src/double-conversion.mk, src/libffi.mk,
src/libgeotiff.mk, src/libmodbus.mk, src/libproxy.mk,
src/librsvg.mk, src/libsndfile.mk, src/libsodium.mk,
src/libvpx.mk, src/netcdf.mk, src/of-statistics.mk,
src/openblas.mk, src/opencv.mk, src/openjpeg.mk,
src/openlibm.mk, src/paho-mqtt-c.mk, src/pcre2.mk,
src/portaudio.mk, src/rapidjson.mk, src/rtmidi.mk,
src/suitesparse.mk, src/sundials-ida.mk, src/wt.mk,
src/wxwidgets.mk, src/yasm.mk, src/zeromq.mk
: call GITHUB_PKG_UPDATE in update
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Tue, 08 Nov 2022 09:37:16 -0500 |
parents | f0933d172154 |
children | e7e566396211 |
line wrap: on
line source
# This file is part of MXE. # See index.html for further information. PKG := suitesparse $(PKG)_VERSION := 5.13.0 $(PKG)_CHECKSUM := 71963dec82e46226eb329432069a916144fa4d98 $(PKG)_SUBDIR := SuiteSparse-$($(PKG)_VERSION) $(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz $(PKG)_URL := https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$($(PKG)_VERSION).tar.gz $(PKG)_DEPS := blas lapack ifeq ($(USE_SYSTEM_GCC),no) $(PKG)_DEPS += libgomp mpfr endif ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) $(PKG)_DESTDIR := else $(PKG)_DESTDIR := $(3) endif define $(PKG)_UPDATE $(call GITHUB_PKG_UPDATE,DrTimothyAldenDavis,SuiteSparse,v) endef $(PKG)_CPPFLAGS := -DNTIMER ifeq ($(ENABLE_FORTRAN_INT64),yes) ifeq ($(MXE_WINDOWS_BUILD),yes) $(PKG)_CPPFLAGS += -DLONGBLAS='long long' else $(PKG)_CPPFLAGS += -DLONGBLAS='long' endif endif ifeq ($(USE_CCACHE),yes) $(PKG)_COMPILER_OPTS := CC='$(CCACHE) $(MXE_CC)' \ CXX='$(CCACHE) $(MXE_CXX)' \ CPLUSPLUS='$(CCACHE) $(MXE_CXX)' \ F77='$(CCACHE) $(MXE_F77)' else $(PKG)_COMPILER_OPTS := CC='$(MXE_CC)' \ CXX='$(MXE_CXX)' \ CPLUSPLUS='$(MXE_CXX)' \ F77='$(MXE_F77)' endif $(PKG)_MAKE_OPTS = \ CPPFLAGS="$($(PKG)_CPPFLAGS)" \ $($(PKG)_COMPILER_OPTS) \ FFLAGS='$(MXE_FFLAGS)' \ CFLAGS='$(MXE_CFLAGS)' \ CXXFLAGS='$(MXE_CXXFLAGS)' \ AR='$(MXE_AR)' \ RANLIB='$(MXE_RANLIB)' \ BLAS="-lblas -lgfortran" \ LAPACK='-llapack' \ CHOLMOD_CONFIG='-DNPARTITION' \ CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC)' ifeq ($(MXE_WINDOWS_BUILD),yes) $(PKG)_MAKE_OPTS += \ UNAME=Windows $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_BINDIR) else $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_LIBDIR) endif $(PKG)_cputype = $(shell uname -m | sed "s/\\ /_/g") $(PKG)_systype = $(shell uname -s) $(PKG)_METIS_BUILDDIR = build/$($(PKG)_systype)-$($(PKG)_cputype) $(PKG)_METIS_CONFIG_FLAGS = -DCMAKE_VERBOSE_MAKEFILE=1 \ -DGKLIB_PATH=$(1)/metis-5.1.0/GKlib \ -DCMAKE_INSTALL_PREFIX=$(1) \ -DSHARED=1 define $(PKG)_BUILD # build metis mkdir $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR) cd $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR) && \ cmake $(1)/metis-5.1.0 \ $(CMAKE_CCACHE_FLAGS) \ $(CMAKE_BUILD_SHARED_OR_STATIC) \ -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ $($(PKG)_METIS_CONFIG_FLAGS) $(MAKE) -C '$(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)' metis -j '$(JOBS)' # install metis mkdir -p $($(PKG)_DESTDIR)$(HOST_LIBDIR) mkdir -p $($(PKG)_SO_DIR) mkdir -p $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/ cp $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)/libmetis/libmetis.* $($(PKG)_SO_DIR) cp $(1)/metis-5.1.0/include/metis.h $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/ chmod 755 $($(PKG)_SO_DIR)/libmetis.* chmod 644 $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/metis.h # build all $(MAKE) -C '$(1)' -j '$(JOBS)' \ $($(PKG)_MAKE_OPTS) \ MY_METIS_LIB=$($(PKG)_SO_DIR) \ library # install libraries and headers $(MAKE) -C '$(1)' -j 1 install \ $($(PKG)_MAKE_OPTS) \ INSTALL_INCLUDE='$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/' \ INSTALL_LIB='$($(PKG)_DESTDIR)$(HOST_LIBDIR)' \ INSTALL_SO='$($(PKG)_SO_DIR)' # some dependers (e.g. SUNDIALS IDA) won't find libraries with version suffix if [ $(MXE_WINDOWS_BUILD) = no ]; then \ cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libsuitesparseconfig.so.$($(PKG)_VERSION) libsuitesparseconfig.so; \ cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libamd.so.2 libamd.so; \ cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libbtf.so.1 libbtf.so; \ cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libcolamd.so.2 libcolamd.so; \ cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libklu.so.1 libklu.so; \ fi endef