You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.install 6.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. TOPDIR = .
  2. export GOTOBLAS_MAKEFILE = 1
  3. -include $(TOPDIR)/Makefile.conf_last
  4. include ./Makefile.system
  5. PREFIX ?= /opt/OpenBLAS
  6. OPENBLAS_INCLUDE_DIR := $(PREFIX)/include
  7. OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib
  8. OPENBLAS_BINARY_DIR := $(PREFIX)/bin
  9. OPENBLAS_BUILD_DIR := $(CURDIR)
  10. OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/openblas
  11. OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake
  12. OPENBLAS_CMAKE_CONFIG_VERSION := OpenBLASConfigVersion.cmake
  13. .PHONY : install
  14. .NOTPARALLEL : install
  15. lib.grd :
  16. $(error OpenBLAS: Please run "make" firstly)
  17. install : lib.grd
  18. @-mkdir -p "$(DESTDIR)$(PREFIX)"
  19. @-mkdir -p "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)"
  20. @-mkdir -p "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  21. @-mkdir -p "$(DESTDIR)$(OPENBLAS_BINARY_DIR)"
  22. @-mkdir -p "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)"
  23. @echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
  24. #for inc
  25. @echo \#ifndef OPENBLAS_CONFIG_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  26. @echo \#define OPENBLAS_CONFIG_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  27. @$(AWK) 'NF {print $$1, "OPENBLAS_"$$2, $$3}' config_last.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  28. @echo \#define OPENBLAS_VERSION \" OpenBLAS $(VERSION) \" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  29. @cat openblas_config_template.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  30. @echo \#endif \/\* OPENBLAS_CONFIG_H \*\/ >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h"
  31. @echo Generating f77blas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
  32. @echo \#ifndef OPENBLAS_F77BLAS_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h"
  33. @echo \#define OPENBLAS_F77BLAS_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h"
  34. @echo \#include \"openblas_config.h\" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h"
  35. @cat common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h"
  36. @echo \#endif >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h"
  37. ifndef NO_CBLAS
  38. @echo Generating cblas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
  39. @sed 's/common/openblas_config/g' cblas.h > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/cblas.h"
  40. endif
  41. ifndef NO_LAPACKE
  42. @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
  43. @-install -pm644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h"
  44. @-install -pm644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_config.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h"
  45. @-install -pm644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_mangling_with_flags.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h"
  46. @-install -pm644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_utils.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h"
  47. endif
  48. #for install static library
  49. ifndef NO_STATIC
  50. @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
  51. @install -pm644 $(LIBNAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  52. @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
  53. ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX)
  54. endif
  55. #for install shared library
  56. ifndef NO_SHARED
  57. @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
  58. ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS))
  59. @install -pm755 $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  60. @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
  61. ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \
  62. ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION)
  63. endif
  64. ifeq ($(OSNAME), FreeBSD)
  65. @cp $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  66. @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
  67. ln -fs $(LIBSONAME) $(LIBPREFIX).so
  68. endif
  69. ifeq ($(OSNAME), NetBSD)
  70. @cp $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  71. @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
  72. ln -fs $(LIBSONAME) $(LIBPREFIX).so
  73. endif
  74. ifeq ($(OSNAME), Darwin)
  75. @-cp $(LIBDYNNAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  76. @-install_name_tool -id "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)" "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)"
  77. @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
  78. ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib
  79. endif
  80. ifeq ($(OSNAME), WINNT)
  81. @-cp $(LIBDLLNAME) "$(DESTDIR)$(OPENBLAS_BINARY_DIR)"
  82. @-cp $(LIBDLLNAME).a "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
  83. endif
  84. ifeq ($(OSNAME), CYGWIN_NT)
  85. @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
  86. endif
  87. endif
  88. #Generating OpenBLASConfig.cmake
  89. @echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
  90. @echo "SET(OpenBLAS_VERSION \"${VERSION}\")" > "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  91. @echo "SET(OpenBLAS_INCLUDE_DIRS ${OPENBLAS_INCLUDE_DIR})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  92. ifndef NO_SHARED
  93. #ifeq logical or
  94. ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD))
  95. @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).so)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  96. endif
  97. ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT))
  98. @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_BINARY_DIR}/$(LIBDLLNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  99. endif
  100. ifeq ($(OSNAME), Darwin)
  101. @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  102. endif
  103. else
  104. #only static
  105. @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
  106. endif
  107. #Generating OpenBLASConfigVersion.cmake
  108. @echo Generating $(OPENBLAS_CMAKE_CONFIG_VERSION) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
  109. @echo "set (PACKAGE_VERSION \"${VERSION}\")" > "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  110. @echo "if (PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  111. @echo " set (PACKAGE_VERSION_COMPATIBLE FALSE)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  112. @echo "else ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  113. @echo " set (PACKAGE_VERSION_COMPATIBLE TRUE)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  114. @echo " if (PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  115. @echo " set (PACKAGE_VERSION_EXACT TRUE)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  116. @echo " endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  117. @echo "endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
  118. @echo Install OK!