1#------------------------------------------------------------------------------- 2# SuiteSparse_config Makefile 3#------------------------------------------------------------------------------- 4 5SUITESPARSE ?= $(realpath $(CURDIR)/..) 6export SUITESPARSE 7 8# version of SuiteSparse_config is also version of SuiteSparse meta-package 9LIBRARY = libsuitesparseconfig 10VERSION = 5.10.1 11SO_VERSION = 5 12 13default: library 14 15include SuiteSparse_config.mk 16 17ccode: all 18 19all: library 20 21# compile and install in SuiteSparse/lib 22library: $(AR_TARGET) 23 $(MAKE) install INSTALL=$(SUITESPARSE) 24 25OBJ = SuiteSparse_config.o 26 27SuiteSparse_config.o: SuiteSparse_config.c SuiteSparse_config.h 28 $(CC) $(CF) -c SuiteSparse_config.c 29 30static: $(AR_TARGET) 31 32$(AR_TARGET): $(OBJ) 33 $(ARCHIVE) $(AR_TARGET) SuiteSparse_config.o 34 $(RANLIB) $(AR_TARGET) 35 36distclean: purge 37 38purge: clean 39 ( cd xerbla ; $(MAKE) purge ) 40 - $(RM) -r $(PURGE) 41 42clean: 43 ( cd xerbla ; $(MAKE) clean ) 44 - $(RM) -r $(CLEAN) 45 46# install SuiteSparse_config 47install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET) 48 49$(INSTALL_LIB)/$(SO_TARGET): $(OBJ) 50 @mkdir -p $(INSTALL_LIB) 51 @mkdir -p $(INSTALL_INCLUDE) 52 @mkdir -p $(INSTALL_DOC) 53 $(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS) 54 ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) ) 55 ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) ) 56 $(CP) SuiteSparse_config.h $(INSTALL_INCLUDE) 57 $(CP) README.txt $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt 58 chmod 755 $(INSTALL_LIB)/$(SO_TARGET) 59 chmod 755 $(INSTALL_LIB)/$(SO_PLAIN) 60 chmod 644 $(INSTALL_INCLUDE)/SuiteSparse_config.h 61 chmod 644 $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt 62 63# uninstall SuiteSparse_config 64uninstall: 65 $(RM) $(INSTALL_LIB)/$(SO_TARGET) 66 $(RM) $(INSTALL_LIB)/$(SO_PLAIN) 67 $(RM) $(INSTALL_LIB)/$(SO_MAIN) 68 $(RM) $(INSTALL_INCLUDE)/SuiteSparse_config.h 69 $(RM) $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt 70 ( cd xerbla ; $(MAKE) uninstall ) 71 72 73