6bb33ad2aa02ac94fc0b92024a8ca77a71e887c4
[openwrt/staging/stintel.git] / package / boot / opensbi / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2022 OpenWrt.org
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=opensbi
9 PKG_RELEASE:=1.2
10
11 PKG_SOURCE_PROTO:=git
12 PKG_SOURCE_URL=https://github.com/riscv/opensbi
13 PKG_SOURCE_DATE:=2022-12-24
14 PKG_SOURCE_VERSION:=6b5188ca14e59ce7bf71afe4e7d3d557c3d31bf8
15 PKG_MIRROR_HASH:=edcdd99da6c62975171981c0aa2b73a27091067da11ccd49816b5ad27d000858
16
17 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
18
19 PKG_TARGETS:=bin
20 PKG_FLAGS:=nonshared
21 PKG_LICENSE:=BSD-2-Clause
22 PKG_LICENSE_FILES:=COPYING.BSD
23 PKG_BUILD_PARALLEL:=1
24
25 PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/opensbi
30 SECTION:=boot
31 CATEGORY:=Boot Loaders
32 DEPENDS:=@(TARGET_sifiveu||TARGET_d1)
33 URL:=https://github.com/riscv/opensbi/blob/master/README.md
34 VARIANT:=$(subst _,/,$(subst opensbi_,,$(1)))
35 TITLE:=OpenSBI generic
36 OPENSBI_IMAGE:=
37 PLAT:=
38 endef
39
40 define Package/opensbi_generic
41 $(Package/opensbi)
42 TITLE:=OpenSBI generic
43 OPENSBI_IMAGE:=fw_dynamic.bin
44 PLAT:=generic
45 endef
46
47 export GCC_HONOUR_COPTS=s
48
49 MAKE_VARS = \
50 CROSS_COMPILE="$(TARGET_CROSS)"
51
52 define Build/Compile
53 $(eval $(Package/opensbi_$(BUILD_VARIANT))) \
54 +$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \
55 PLATFORM=$(PLAT)
56 endef
57
58 define Build/InstallDev
59 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
60 $(CP) $(PKG_BUILD_DIR)/build/platform/$(PLAT)/firmware/fw_dynamic.bin $(STAGING_DIR_IMAGE)/fw_dynamic-${BUILD_VARIANT}.bin
61 endef
62
63 $(eval $(call BuildPackage,opensbi_generic))