代码拉取完成,页面将自动刷新
#-------------------------------------------------------------------------------
# Makefile for all SuiteSparse packages
#-------------------------------------------------------------------------------
SUITESPARSE = $(CURDIR)
export SUITESPARSE
default: go
include SuiteSparse_config/SuiteSparse_config.mk
# Compile the default rules for each package. Compiled libraries for all
# packages are placed in SuiteSparse/lib, except for Mongoose and GraphBLAS.
# Those two packages use CMake, and their compiled libraries are placed in
# Mongoose/build and GraphBLAS/build, respectively. Then "make install"
# installs all libraries SuiteSparse/lib.
go: metis
( cd SuiteSparse_config && $(MAKE) )
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
( cd AMD && $(MAKE) )
( cd BTF && $(MAKE) )
( cd CAMD && $(MAKE) )
( cd CCOLAMD && $(MAKE) )
( cd COLAMD && $(MAKE) )
( cd CHOLMOD && $(MAKE) )
( cd CSparse && $(MAKE) )
( cd CXSparse && $(MAKE) )
( cd LDL && $(MAKE) )
( cd KLU && $(MAKE) )
( cd UMFPACK && $(MAKE) )
( cd RBio && $(MAKE) )
ifneq ($(GPU_CONFIG),)
( cd SuiteSparse_GPURuntime && $(MAKE) )
( cd GPUQREngine && $(MAKE) )
endif
( cd SPQR && $(MAKE) )
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
( cd SLIP_LU && $(MAKE) )
# ( cd PIRO_BAND && $(MAKE) )
# ( cd SKYLINE_SVD && $(MAKE) )
# install all packages in SuiteSparse/lib and SuiteSparse/include. Use the
# following command to install in /usr/local/lib and /usr/local/include:
# sudo make install INSTALL=/usr/local
# See SuiteSparse/README.md for more details.
# (note that CSparse is not installed; CXSparse is installed instead)
install: metisinstall
( cd SuiteSparse_config && $(MAKE) install )
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
( cd AMD && $(MAKE) install )
( cd BTF && $(MAKE) install )
( cd CAMD && $(MAKE) install )
( cd CCOLAMD && $(MAKE) install )
( cd COLAMD && $(MAKE) install )
( cd CHOLMOD && $(MAKE) install )
( cd CXSparse && $(MAKE) install )
( cd LDL && $(MAKE) install )
( cd KLU && $(MAKE) install )
( cd UMFPACK && $(MAKE) install )
( cd RBio && $(MAKE) install )
ifneq (,$(GPU_CONFIG))
( cd SuiteSparse_GPURuntime && $(MAKE) install )
( cd GPUQREngine && $(MAKE) install )
endif
( cd SPQR && $(MAKE) install )
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
# ( cd PIRO_BAND && $(MAKE) install )
# ( cd SKYLINE_SVD && $(MAKE) install )
( cd SLIP_LU && $(MAKE) install )
$(CP) README.md $(INSTALL_DOC)/SuiteSparse_README.md
chmod 644 $(INSTALL_DOC)/SuiteSparse_README.md
metisinstall: metis
ifeq (,$(MY_METIS_LIB))
# install METIS from SuiteSparse/metis-5.1.0
@mkdir -p $(INSTALL_LIB)
@mkdir -p $(INSTALL_INCLUDE)
@mkdir -p $(INSTALL_DOC)
- $(CP) lib/libmetis.* $(INSTALL_LIB)
- $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
- $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
# the following is needed only on the Mac, so *.dylib is hardcoded:
$(SO_INSTALL_NAME) $(INSTALL_LIB)/libmetis.dylib $(INSTALL_LIB)/libmetis.dylib
- $(CP) include/metis.h $(INSTALL_INCLUDE)
chmod 755 $(INSTALL_LIB)/libmetis.*
chmod 644 $(INSTALL_INCLUDE)/metis.h
chmod 644 $(INSTALL_DOC)/METIS_manual.pdf
chmod 644 $(INSTALL_DOC)/METIS_README.txt
endif
# uninstall all packages
uninstall:
$(RM) $(INSTALL_DOC)/SuiteSparse_README.md
( cd SuiteSparse_config && $(MAKE) uninstall )
- ( cd metis-5.1.0 && $(MAKE) uninstall )
- ( cd GraphBLAS && $(MAKE) uninstall )
- ( cd Mongoose && $(MAKE) uninstall )
( cd AMD && $(MAKE) uninstall )
( cd CAMD && $(MAKE) uninstall )
( cd COLAMD && $(MAKE) uninstall )
( cd BTF && $(MAKE) uninstall )
( cd KLU && $(MAKE) uninstall )
( cd LDL && $(MAKE) uninstall )
( cd CCOLAMD && $(MAKE) uninstall )
( cd UMFPACK && $(MAKE) uninstall )
( cd CHOLMOD && $(MAKE) uninstall )
( cd CSparse && $(MAKE) uninstall )
( cd CXSparse && $(MAKE) uninstall )
( cd RBio && $(MAKE) uninstall )
( cd SuiteSparse_GPURuntime && $(MAKE) uninstall )
( cd GPUQREngine && $(MAKE) uninstall )
( cd SPQR && $(MAKE) uninstall )
( cd SLIP_LU && $(MAKE) uninstall )
# ( cd PIRO_BAND && $(MAKE) uninstall )
# ( cd SKYLINE_SVD && $(MAKE) uninstall )
ifeq (,$(MY_METIS_LIB))
# uninstall METIS, which came from SuiteSparse/metis-5.1.0
$(RM) $(INSTALL_LIB)/libmetis.*
$(RM) $(INSTALL_INCLUDE)/metis.h
$(RM) $(INSTALL_DOC)/METIS_manual.pdf
$(RM) $(INSTALL_DOC)/METIS_README.txt
endif
$(RM) -r $(INSTALL_DOC)
# compile the dynamic libraries. For GraphBLAS and Mongoose, this also builds
# the static library
library: metis
( cd SuiteSparse_config && $(MAKE) )
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
( cd AMD && $(MAKE) library )
( cd BTF && $(MAKE) library )
( cd CAMD && $(MAKE) library )
( cd CCOLAMD && $(MAKE) library )
( cd COLAMD && $(MAKE) library )
( cd CHOLMOD && $(MAKE) library )
( cd KLU && $(MAKE) library )
( cd LDL && $(MAKE) library )
( cd UMFPACK && $(MAKE) library )
( cd CSparse && $(MAKE) library )
( cd CXSparse && $(MAKE) library )
( cd RBio && $(MAKE) library )
ifneq (,$(GPU_CONFIG))
( cd SuiteSparse_GPURuntime && $(MAKE) library )
( cd GPUQREngine && $(MAKE) library )
endif
( cd SPQR && $(MAKE) library )
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
( cd SLIP_LU && $(MAKE) library )
# ( cd PIRO_BAND && $(MAKE) library )
# ( cd SKYLINE_SVD && $(MAKE) library )
# compile the static libraries (except for metis, GraphBLAS, and Mongoose).
# metis is only dynamic, and the 'make static' for GraphBLAS and Mongoose makes
# both the dynamic and static libraries.
static: metis
( cd SuiteSparse_config && $(MAKE) static )
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' static )
( cd AMD && $(MAKE) static )
( cd BTF && $(MAKE) static )
( cd CAMD && $(MAKE) static )
( cd CCOLAMD && $(MAKE) static )
( cd COLAMD && $(MAKE) static )
( cd CHOLMOD && $(MAKE) static )
( cd KLU && $(MAKE) static )
( cd LDL && $(MAKE) static )
( cd UMFPACK && $(MAKE) static )
( cd CSparse && $(MAKE) static )
( cd CXSparse && $(MAKE) static )
( cd RBio && $(MAKE) static )
ifneq (,$(GPU_CONFIG))
( cd SuiteSparse_GPURuntime && $(MAKE) static )
( cd GPUQREngine && $(MAKE) static )
endif
( cd SPQR && $(MAKE) static )
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' static )
( cd SLIP_LU && $(MAKE) static )
# ( cd PIRO_BAND && $(MAKE) static )
# ( cd SKYLINE_SVD && $(MAKE) static )
# Remove all files not in the original distribution
purge:
- ( cd SuiteSparse_config && $(MAKE) purge )
- ( cd metis-5.1.0 && $(MAKE) distclean )
- ( cd AMD && $(MAKE) purge )
- ( cd GraphBLAS && $(MAKE) purge )
- ( cd Mongoose && $(MAKE) purge )
- ( cd CAMD && $(MAKE) purge )
- ( cd COLAMD && $(MAKE) purge )
- ( cd BTF && $(MAKE) purge )
- ( cd KLU && $(MAKE) purge )
- ( cd LDL && $(MAKE) purge )
- ( cd CCOLAMD && $(MAKE) purge )
- ( cd UMFPACK && $(MAKE) purge )
- ( cd CHOLMOD && $(MAKE) purge )
- ( cd CSparse && $(MAKE) purge )
- ( cd CXSparse && $(MAKE) purge )
- ( cd RBio && $(MAKE) purge )
- ( cd MATLAB_Tools/SuiteSparseCollection && $(RM) *.mex* )
- ( cd MATLAB_Tools/SSMULT && $(RM) *.mex* )
- ( cd SuiteSparse_GPURuntime && $(MAKE) purge )
- ( cd GPUQREngine && $(MAKE) purge )
- ( cd SPQR && $(MAKE) purge )
- ( cd SLIP_LU && $(MAKE) purge )
# - ( cd PIRO_BAND && $(MAKE) purge )
# - ( cd SKYLINE_SVD && $(MAKE) purge )
- $(RM) MATLAB_Tools/*/*.mex* MATLAB_Tools/spok/private/*.mex*
- $(RM) -r include/* bin/* lib/* share/*
# Remove all files not in the original distribution, but keep the libraries
clean:
- ( cd SuiteSparse_config && $(MAKE) clean )
- ( cd metis-5.1.0 && $(MAKE) clean )
- ( cd GraphBLAS && $(MAKE) clean )
- ( cd Mongoose && $(MAKE) clean )
- ( cd AMD && $(MAKE) clean )
- ( cd CAMD && $(MAKE) clean )
- ( cd COLAMD && $(MAKE) clean )
- ( cd BTF && $(MAKE) clean )
- ( cd KLU && $(MAKE) clean )
- ( cd LDL && $(MAKE) clean )
- ( cd CCOLAMD && $(MAKE) clean )
- ( cd UMFPACK && $(MAKE) clean )
- ( cd CHOLMOD && $(MAKE) clean )
- ( cd CSparse && $(MAKE) clean )
- ( cd CXSparse && $(MAKE) clean )
- ( cd RBio && $(MAKE) clean )
- ( cd SuiteSparse_GPURuntime && $(MAKE) clean )
- ( cd GPUQREngine && $(MAKE) clean )
- ( cd SPQR && $(MAKE) clean )
- ( cd SLIP_LU && $(MAKE) clean )
# - ( cd PIRO_BAND && $(MAKE) clean )
# - ( cd SKYLINE_SVD && $(MAKE) clean )
# Create the PDF documentation
docs:
( cd GraphBLAS && $(MAKE) docs )
( cd Mongoose && $(MAKE) docs )
( cd AMD && $(MAKE) docs )
( cd CAMD && $(MAKE) docs )
( cd KLU && $(MAKE) docs )
( cd LDL && $(MAKE) docs )
( cd UMFPACK && $(MAKE) docs )
( cd CHOLMOD && $(MAKE) docs )
( cd SPQR && $(MAKE) docs )
# ( cd PIRO_BAND && $(MAKE) docs )
# ( cd SKYLINE_SVD && $(MAKE) docs )
distclean: purge
# Create CXSparse from CSparse
# Note that the CXSparse directory should initially not exist.
cx:
( cd CSparse ; $(MAKE) purge )
( cd SuiteSparse_config && $(MAKE) )
( cd CXSparse_newfiles ; tar cfv - * | gzip -9 > ../CXSparse_newfiles.tar.gz )
./CSparse_to_CXSparse CSparse CXSparse CXSparse_newfiles.tar.gz
( cd CXSparse/Demo ; $(MAKE) )
( cd CXSparse/Demo ; $(MAKE) > cs_demo.out )
( cd CXSparse ; $(MAKE) purge )
$(RM) -f CXSparse_newfiles.tar.gz
# statement coverage (Linux only); this requires a lot of time.
# The umfpack tcov requires a lot of disk space in /tmp
cov: purge
( cd CXSparse && $(MAKE) cov )
( cd CSparse && $(MAKE) cov )
( cd CHOLMOD && $(MAKE) cov )
( cd KLU && $(MAKE) cov )
( cd SPQR && $(MAKE) cov )
( cd UMFPACK && $(MAKE) cov )
( cd SLIP_LU && $(MAKE) cov )
# ( cd PIRO_BAND && $(MAKE) cov )
# ( cd SKYLINE_SVD && $(MAKE) cov )
# configure and compile METIS, placing the libmetis.* library in
# SuiteSparse/lib and the metis.h include file in SuiteSparse/include.
metis: include/metis.h
# Install the shared version of METIS in SuiteSparse/lib.
# The SO_INSTALL_NAME commmand is only needed on the Mac, so *.dylib is
# hardcoded below.
include/metis.h:
ifeq (,$(MY_METIS_LIB))
- ( cd metis-5.1.0 && $(MAKE) config shared=1 prefix=$(SUITESPARSE) cc=$(CC) )
- ( cd metis-5.1.0 && $(MAKE) )
- ( cd metis-5.1.0 && $(MAKE) install )
- $(SO_INSTALL_NAME) $(SUITESPARSE)/lib/libmetis.dylib \
$(SUITESPARSE)/lib/libmetis.dylib
else
@echo 'Using pre-installed METIS 5.1.0 library at ' '[$(MY_METIS_LIB)]'
endif
# just compile GraphBLAS
gb:
echo $(CMAKE_OPTIONS)
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
# just install GraphBLAS
gbinstall:
echo $(CMAKE_OPTIONS)
( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
# just compile Mongoose
mon:
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
# just install Mongoose
moninstall:
( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。