From 2f0d2ce1ea6da8b0f56a8b4b907d623e15af4c7d Mon Sep 17 00:00:00 2001 From: Christopher Meng Date: Mon, 9 Dec 2013 19:56:37 +0800 Subject: [PATCH] Add DESTDIR support for easier building on RPM based distros. Use install command instead of cp to install files with permissions control. --- Makefile.install | 80 ++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/Makefile.install b/Makefile.install index 8319b46db..1f3cf87b8 100644 --- a/Makefile.install +++ b/Makefile.install @@ -3,11 +3,11 @@ export GOTOBLAS_MAKEFILE = 1 -include $(TOPDIR)/Makefile.conf_last include ./Makefile.system -PREFIX?=/opt/OpenBLAS +PREFIX ?= /opt/OpenBLAS -OPENBLAS_INCLUDE_DIR:=$(PREFIX)/include -OPENBLAS_LIBRARY_DIR:=$(PREFIX)/lib -OPENBLAS_BUILD_DIR:=$(CURDIR) +OPENBLAS_INCLUDE_DIR := $(PREFIX)/include +OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib +OPENBLAS_BUILD_DIR := $(CURDIR) .PHONY : install .NOTPARALLEL : install @@ -16,65 +16,65 @@ lib.grd : $(error OpenBLAS: Please run "make" firstly) install : lib.grd - @-mkdir -p $(PREFIX) - @-mkdir -p $(OPENBLAS_INCLUDE_DIR) - @-mkdir -p $(OPENBLAS_LIBRARY_DIR) - @echo Generating openblas_config.h in $(OPENBLAS_INCLUDE_DIR) + @-mkdir -p $(DESTDIR)$(PREFIX) + @-mkdir -p $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) + @-mkdir -p $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) #for inc - @echo \#ifndef OPENBLAS_CONFIG_H > $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @echo \#define OPENBLAS_CONFIG_H >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @awk '{print $$1, "OPENBLAS_"$$2, $$3}' config_last.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @echo \#define OPENBLAS_VERSION \" OpenBLAS $(VERSION) \" >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @cat openblas_config_template.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @echo \#endif \/\* OPENBLAS_CONFIG_H \*\/ >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @echo \#ifndef OPENBLAS_CONFIG_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @echo \#define OPENBLAS_CONFIG_H >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @awk '{print $$1, "OPENBLAS_"$$2, $$3}' config_last.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @echo \#define OPENBLAS_VERSION \" OpenBLAS $(VERSION) \" >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @cat openblas_config_template.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @echo \#endif \/\* OPENBLAS_CONFIG_H \*\/ >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @echo Generating f77blas.h in $(OPENBLAS_INCLUDE_DIR) - @echo \#ifndef OPENBLAS_F77BLAS_H > $(OPENBLAS_INCLUDE_DIR)/f77blas.h - @echo \#define OPENBLAS_F77BLAS_H >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h - @echo \#include \"openblas_config.h\" >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h - @cat common_interface.h >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h - @echo \#endif >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h + @echo Generating f77blas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) + @echo \#ifndef OPENBLAS_F77BLAS_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h + @echo \#define OPENBLAS_F77BLAS_H >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h + @echo \#include \"openblas_config.h\" >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h + @cat common_interface.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h + @echo \#endif >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h ifndef NO_CBLAS - @echo Generating cblas.h in $(OPENBLAS_INCLUDE_DIR) - @sed 's/common/openblas_config/g' cblas.h > $(OPENBLAS_INCLUDE_DIR)/cblas.h + @echo Generating cblas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) + @sed 's/common/openblas_config/g' cblas.h > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/cblas.h endif ifndef NO_LAPACKE - @echo Copying LAPACKE header files to $(OPENBLAS_LIBRARY_DIR) - @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(OPENBLAS_INCLUDE_DIR)/lapacke.h - @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(OPENBLAS_INCLUDE_DIR)/lapacke_config.h - @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h - @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h + @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h + @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h + @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h + @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h endif #for install static library - @echo Copy the static library to $(OPENBLAS_LIBRARY_DIR) - @cp $(LIBNAME) $(OPENBLAS_LIBRARY_DIR) - @cd $(OPENBLAS_LIBRARY_DIR) ; \ + @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @install -pm644 $(LIBNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \ ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) #for install shared library - @echo Copy the shared library to $(OPENBLAS_LIBRARY_DIR) + @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ifeq ($(OSNAME), Linux) - @cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) - @cd $(OPENBLAS_LIBRARY_DIR) ; \ + @install -pm755 $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \ ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \ ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) endif ifeq ($(OSNAME), FreeBSD) - @cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) - @cd $(OPENBLAS_LIBRARY_DIR) ; \ + @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \ ln -fs $(LIBSONAME) $(LIBPREFIX).so endif ifeq ($(OSNAME), NetBSD) - @cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) - @cd $(OPENBLAS_LIBRARY_DIR) ; \ + @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \ ln -fs $(LIBSONAME) $(LIBPREFIX).so endif ifeq ($(OSNAME), Darwin) - @-cp $(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR) - @-install_name_tool -id $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) - @-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dylib + @-cp $(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) + @-install_name_tool -id $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) + @-ln -fs $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dylib endif ifeq ($(OSNAME), WINNT) @-cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)