2 # Copyright (C) 2021 Alexandru Ardelean <ardeleanalex@gmail.com>
5 include $(TOPDIR
)/rules.mk
9 PKG_RELEASE
:=$(AUTORELEASE
)
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
:=f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca
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
/
30 +INSTALL_GFORTRAN
:libgfortran
33 define Package
/openblas
/description
34 OpenBLAS is an optimized BLAS
(Basic Linear Algebra Subprograms
) library
35 based on GotoBLAS2
1.13 BSD version.
38 define Package
/openblas
/config
40 depends on PACKAGE_openblas
42 config OPENBLAS_TARGET_OVERRIDE
44 prompt
"Manual CPU target override (from the OpenBLAS TargetList.txt file)"
49 OPENBLAS_TARGET
=$(call qstrip
,$(CONFIG_OPENBLAS_TARGET_OVERRIDE
))
50 CPU_TYPE
=$(call qstrip
,$(CONFIG_CPU_TYPE
))
52 ifeq ($(OPENBLAS_TARGET
),)
53 # initialize to GENERIC as default
54 OPENBLAS_TARGET
:=GENERIC
56 ifeq ($(ARCH
),aarch64
)
57 OPENBLAS_TARGET
:=ARMV8
58 else ifeq ($(ARCH
),arm
)
59 OPENBLAS_TARGET
:=ARMV5
60 else ifeq ($(ARCH
),mips
)
61 OPENBLAS_TARGET
:=MIPS24K
62 else ifeq ($(ARCH
),mipsel
)
63 OPENBLAS_TARGET
:=MIPS24K
64 else ifeq ($(ARCH
),powerpc
)
65 OPENBLAS_TARGET
:=PPC440
66 else ifeq ($(ARCH
),riscv64
)
67 OPENBLAS_TARGET
:=RISCV64_GENERIC
69 endif # ifeq ($(OPENBLAS_TARGET),)
71 ifeq ($(CONFIG_ARCH_64BIT
),y
)
79 HOSTCC
=$(HOSTCC_NOCACHE
) \
80 CROSS_SUFFIX
=$(TARGET_CROSS
) \
81 BINARY
=$(OPENBLAS_BINARY
) \
86 TARGET
=$(call qstrip
,$(OPENBLAS_TARGET
))
88 ifneq ($(CONFIG_INSTALL_GFORTRAN
),y
)
89 MAKE_FLAGS
+= NOFORTRAN
=1
92 define Build
/InstallDev
93 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
94 $(INSTALL_DIR
) $(1)/usr
/include
95 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/* $(1)/usr
/lib
/
96 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
97 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/* $(1)/usr
/lib
/pkgconfig
/
100 define Package
/openblas
/install
101 $(INSTALL_DIR
) $(1)/usr
/lib
102 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libopenblas
*.so
* $(1)/usr
/lib
/
105 $(eval
$(call BuildPackage
,openblas
))