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
:=4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68
14 PKG_LICENSE
:=BSD-3-Clause
15 PKG_CPE_ID
:=cpe
:/a
:openblas_project
:openblas
16 PKG_MAINTAINER
:=Alexandru Ardelean
<ardeleanalex@gmail.com
>
21 include $(INCLUDE_DIR
)/package.mk
23 define Package
/openblas
26 TITLE
:=An optimized library for BLAS
(Basic Linear Algebra Subprograms
)
27 URL
:=https
://www.openblas.net
/
32 +INSTALL_GFORTRAN
:libgfortran
35 define Package
/openblas
/description
36 OpenBLAS is an optimized BLAS
(Basic Linear Algebra Subprograms
) library
37 based on GotoBLAS2
1.13 BSD version.
40 define Package
/openblas
/config
42 depends on PACKAGE_openblas
44 config OPENBLAS_TARGET_OVERRIDE
46 prompt
"Manual CPU target override (from the OpenBLAS TargetList.txt file)"
51 OPENBLAS_TARGET
=$(call qstrip
,$(CONFIG_OPENBLAS_TARGET_OVERRIDE
))
52 CPU_TYPE
=$(call qstrip
,$(CONFIG_CPU_TYPE
))
54 ifeq ($(OPENBLAS_TARGET
),)
55 # initialize to GENERIC as default
56 OPENBLAS_TARGET
:=GENERIC
58 ifeq ($(ARCH
),aarch64
)
59 OPENBLAS_TARGET
:=ARMV8
60 else ifeq ($(ARCH
),arm
)
61 OPENBLAS_TARGET
:=ARMV5
62 else ifeq ($(ARCH
),mips
)
63 OPENBLAS_TARGET
:=MIPS24K
64 else ifeq ($(ARCH
),mipsel
)
65 OPENBLAS_TARGET
:=MIPS24K
66 else ifeq ($(ARCH
),powerpc
)
67 OPENBLAS_TARGET
:=PPC440
68 else ifeq ($(ARCH
),riscv64
)
69 OPENBLAS_TARGET
:=RISCV64_GENERIC
71 endif # ifeq ($(OPENBLAS_TARGET),)
73 ifeq ($(CONFIG_ARCH_64BIT
),y
)
81 CC
=$(TARGET_CC_NOCACHE
) \
82 CXX
=$(TARGET_CXX_NOCACHE
) \
83 HOSTCC
=$(HOSTCC_NOCACHE
) \
84 CROSS_SUFFIX
=$(TARGET_CROSS
) \
85 BINARY
=$(OPENBLAS_BINARY
) \
90 TARGET
=$(call qstrip
,$(OPENBLAS_TARGET
))
92 ifneq ($(CONFIG_INSTALL_GFORTRAN
),y
)
93 MAKE_FLAGS
+= NOFORTRAN
=1
96 define Build
/InstallDev
97 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
98 $(INSTALL_DIR
) $(1)/usr
/include
99 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/* $(1)/usr
/lib
/
100 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
101 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/* $(1)/usr
/lib
/pkgconfig
/
104 define Package
/openblas
/install
105 $(INSTALL_DIR
) $(1)/usr
/lib
106 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libopenblas
*.so
* $(1)/usr
/lib
/
109 $(eval
$(call BuildPackage
,openblas
))