2 export GOTOBLAS_MAKEFILE = 1
3 -include $(TOPDIR)/Makefile.conf_last
4 include ./Makefile.system
6 PREFIX ?= /opt/OpenBLAS
8 OPENBLAS_INCLUDE_DIR := $(PREFIX)/include
9 OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib
10 OPENBLAS_BINARY_DIR := $(PREFIX)/bin
11 OPENBLAS_BUILD_DIR := $(CURDIR)
12 OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/openblas
13 OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake
14 OPENBLAS_CMAKE_CONFIG_VERSION := OpenBLASConfigVersion.cmake
17 .NOTPARALLEL : install
20 $(error OpenBLAS: Please run "make" firstly)
23 @-mkdir -p $(DESTDIR)$(PREFIX)
24 @-mkdir -p $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
25 @-mkdir -p $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
26 @-mkdir -p $(DESTDIR)$(OPENBLAS_BINARY_DIR)
27 @-mkdir -p $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
28 @echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
30 @echo \#ifndef OPENBLAS_CONFIG_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
31 @echo \#define OPENBLAS_CONFIG_H >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
32 @awk 'NF {print $$1, "OPENBLAS_"$$2, $$3}' config_last.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
33 @echo \#define OPENBLAS_VERSION \" OpenBLAS $(VERSION) \" >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
34 @cat openblas_config_template.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
35 @echo \#endif \/\* OPENBLAS_CONFIG_H \*\/ >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
37 @echo Generating f77blas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
38 @echo \#ifndef OPENBLAS_F77BLAS_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
39 @echo \#define OPENBLAS_F77BLAS_H >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
40 @echo \#include \"openblas_config.h\" >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
41 @cat common_interface.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
42 @echo \#endif >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
45 @echo Generating cblas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
46 @sed 's/common/openblas_config/g' cblas.h > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/cblas.h
50 @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
51 @-install -pm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h
52 @-install -pm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h
53 @-install -pm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h
54 @-install -pm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h
57 #for install static library
59 @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
60 @install -pm644 $(LIBNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
61 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
62 ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX)
64 #for install shared library
66 @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
67 ifeq ($(OSNAME), Linux)
68 @install -pm755 $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
69 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
70 ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \
71 ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION)
73 ifeq ($(OSNAME), FreeBSD)
74 @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
75 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
76 ln -fs $(LIBSONAME) $(LIBPREFIX).so
78 ifeq ($(OSNAME), NetBSD)
79 @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
80 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
81 ln -fs $(LIBSONAME) $(LIBPREFIX).so
83 ifeq ($(OSNAME), Darwin)
84 @-cp $(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
85 @-install_name_tool -id $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)
86 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
87 ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib
89 ifeq ($(OSNAME), WINNT)
90 @-cp $(LIBDLLNAME) $(DESTDIR)$(OPENBLAS_BINARY_DIR)
91 @-cp $(LIBDLLNAME).a $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
93 ifeq ($(OSNAME), CYGWIN_NT)
94 @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
97 #Generating OpenBLASConfig.cmake
98 @echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
99 @echo "SET(OpenBLAS_VERSION \"${VERSION}\")" > $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
100 @echo "SET(OpenBLAS_INCLUDE_DIRS ${OPENBLAS_INCLUDE_DIR})" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
104 ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD))
105 @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).so)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
107 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT))
108 @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_BINARY_DIR}/$(LIBDLLNAME))" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
110 ifeq ($(OSNAME), Darwin)
111 @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).dylib)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
115 @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).$(LIBSUFFIX))" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
117 #Generating OpenBLASConfigVersion.cmake
118 @echo Generating $(OPENBLAS_CMAKE_CONFIG_VERSION) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
119 @echo "set (PACKAGE_VERSION \"${VERSION}\")" > $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
120 @echo "if (PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
121 @echo " set (PACKAGE_VERSION_COMPATIBLE FALSE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
122 @echo "else ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
123 @echo " set (PACKAGE_VERSION_COMPATIBLE TRUE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
124 @echo " if (PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
125 @echo " set (PACKAGE_VERSION_EXACT TRUE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
126 @echo " endif ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
127 @echo "endif ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)