2 # Copyright (C) 2021 Alexandru Ardelean <ardeleanalex@gmail.com>
5 include $(TOPDIR
)/rules.mk
11 PKG_SOURCE
:=OpenBLAS-
$(PKG_VERSION
).
tar.gz
12 PKG_SOURCE_URL
:=https
://github.com
/xianyi
/OpenBLAS
/releases
/download
/v
$(PKG_VERSION
)/
13 PKG_HASH
:=5d9491d07168a5d00116cdc068a40022c3455bf9293c7cb86a65b1054d7e5114
14 PKG_LICENSE
:=BSD
3-Clause
15 PKG_MAINTAINER
:=Alexandru Ardelean
<ardeleanalex@gmail.com
>
20 include $(INCLUDE_DIR
)/package.mk
22 define Package
/openblas
25 TITLE
:=An optimized library for BLAS
(Basic Linear Algebra Subprograms
)
26 URL
:=https
://www.openblas.net
/
31 +INSTALL_GFORTRAN
:libgfortran
34 define Package
/openblas
/description
35 OpenBLAS is an optimized BLAS
(Basic Linear Algebra Subprograms
) library
36 based on GotoBLAS2
1.13 BSD version.
39 define Package
/openblas
/config
41 depends on PACKAGE_openblas
43 config OPENBLAS_TARGET_OVERRIDE
45 prompt
"Manual CPU target override (from the OpenBLAS TargetList.txt file)"
50 OPENBLAS_TARGET
=$(call qstrip
,$(CONFIG_OPENBLAS_TARGET_OVERRIDE
))
51 CPU_TYPE
=$(call qstrip
,$(CONFIG_CPU_TYPE
))
53 ifeq ($(OPENBLAS_TARGET
),)
54 # initialize to GENERIC as default
55 OPENBLAS_TARGET
:=GENERIC
57 ifeq ($(ARCH
),aarch64
)
58 OPENBLAS_TARGET
:=ARMV8
59 else ifeq ($(ARCH
),arm
)
60 OPENBLAS_TARGET
:=ARMV5
61 else ifeq ($(ARCH
),mips
)
62 OPENBLAS_TARGET
:=MIPS24K
63 else ifeq ($(ARCH
),mipsel
)
64 OPENBLAS_TARGET
:=MIPS24K
65 else ifeq ($(ARCH
),powerpc
)
66 OPENBLAS_TARGET
:=PPC440
67 else ifeq ($(ARCH
),riscv64
)
68 OPENBLAS_TARGET
:=RISCV64_GENERIC
70 endif # ifeq ($(OPENBLAS_TARGET),)
72 ifeq ($(CONFIG_ARCH_64BIT
),y
)
80 CC
=$(TARGET_CC_NOCACHE
) \
81 CXX
=$(TARGET_CXX_NOCACHE
) \
82 HOSTCC
=$(HOSTCC_NOCACHE
) \
83 CROSS_SUFFIX
=$(TARGET_CROSS
) \
84 BINARY
=$(OPENBLAS_BINARY
) \
89 TARGET
=$(call qstrip
,$(OPENBLAS_TARGET
))
91 ifneq ($(CONFIG_INSTALL_GFORTRAN
),y
)
92 MAKE_FLAGS
+= NOFORTRAN
=1
95 define Build
/InstallDev
96 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
97 $(INSTALL_DIR
) $(1)/usr
/include
98 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/* $(1)/usr
/lib
/
99 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
100 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/* $(1)/usr
/lib
/pkgconfig
/
103 define Package
/openblas
/install
104 $(INSTALL_DIR
) $(1)/usr
/lib
105 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libopenblas
*.so
* $(1)/usr
/lib
/
108 $(eval
$(call BuildPackage
,openblas
))