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)
14 .NOTPARALLEL : install
17 $(error OpenBLAS: Please run "make" firstly)
20 @-mkdir -p $(DESTDIR)$(PREFIX)
21 @-mkdir -p $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
22 @-mkdir -p $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
23 @echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
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
32 @echo Generating f77blas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
33 @echo \#ifndef OPENBLAS_F77BLAS_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
34 @echo \#define OPENBLAS_F77BLAS_H >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
35 @echo \#include \"openblas_config.h\" >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
36 @cat common_interface.h >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
37 @echo \#endif >> $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h
40 @echo Generating cblas.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
41 @sed 's/common/openblas_config/g' cblas.h > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/cblas.h
45 @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
46 @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h
47 @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h
48 @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h
49 @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h
52 #for install static library
54 @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
55 @install -pm644 $(LIBNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
56 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
57 ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX)
59 #for install shared library
61 @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
62 ifeq ($(OSNAME), Linux)
63 @install -pm755 $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
64 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
65 ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \
66 ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION)
68 ifeq ($(OSNAME), FreeBSD)
69 @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
70 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
71 ln -fs $(LIBSONAME) $(LIBPREFIX).so
73 ifeq ($(OSNAME), NetBSD)
74 @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
75 @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
76 ln -fs $(LIBSONAME) $(LIBPREFIX).so
78 ifeq ($(OSNAME), Darwin)
79 @-cp $(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
80 @-install_name_tool -id $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)
81 @-ln -fs $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dylib
83 ifeq ($(OSNAME), WINNT)
84 @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
85 @-cp $(LIBDLLNAME).a $(OPENBLAS_LIBRARY_DIR)
87 ifeq ($(OSNAME), CYGWIN_NT)
88 @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)