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