Merge branch 'z13' into develop
[platform/upstream/openblas.git] / Makefile.install
1 TOPDIR  = .
2 export GOTOBLAS_MAKEFILE = 1
3 -include $(TOPDIR)/Makefile.conf_last
4 include ./Makefile.system
5
6 PREFIX ?= /opt/OpenBLAS
7
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
15
16 .PHONY : install
17 .NOTPARALLEL : install
18
19 lib.grd :
20         $(error OpenBLAS: Please run "make" firstly)
21
22 install :       lib.grd
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)
29 #for inc
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"
36
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"
43
44 ifndef NO_CBLAS
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"
47 endif
48
49 ifndef NO_LAPACKE
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"
55 endif
56
57 #for install static library
58 ifndef NO_STATIC
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)
63 endif
64 #for install shared library
65 ifndef NO_SHARED
66         @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
67 ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS))
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)
72 endif
73 ifeq ($(OSNAME), FreeBSD)
74         @cp $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
75         @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
76         ln -fs $(LIBSONAME) $(LIBPREFIX).so
77 endif
78 ifeq ($(OSNAME), NetBSD)
79         @cp $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
80         @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \
81         ln -fs $(LIBSONAME) $(LIBPREFIX).so
82 endif
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
88 endif
89 ifeq ($(OSNAME), WINNT)
90         @-cp $(LIBDLLNAME) "$(DESTDIR)$(OPENBLAS_BINARY_DIR)"
91         @-cp $(LIBDLLNAME).a "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)"
92 endif
93 ifeq ($(OSNAME), CYGWIN_NT)
94         @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
95 endif
96 endif
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)"
101
102 ifndef NO_SHARED
103 #ifeq logical or
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)"
106 endif
107 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT))
108         @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_BINARY_DIR}/$(LIBDLLNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
109 endif
110 ifeq ($(OSNAME), Darwin)
111         @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
112 endif
113 else
114 #only static
115         @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
116 endif
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)"
128         @echo Install OK!
129