220 kx
220 kx COMPONENT_TARGETS = $(HARDWARE_ORANGE_PI5)
220 kx
220 kx NEED_ABS_PATH = true
220 kx
220 kx COMPONENT_IS_3PP = true
220 kx
220 kx
220 kx include ../../../../build-system/constants.mk
220 kx
220 kx
220 kx SOURCE_REQUIRES = sources/U-Boot/OrangePi/edk2
220 kx
226 kx REQUIRES = boot/u-boot/orange-pi5/2023.10
220 kx
220 kx # ======= __END_OF_REQUIRES__ =======
220 kx
220 kx
220 kx version = 0.9.1.1
220 kx tar_xz_archive = $(SRC_PACKAGE_PATH)/U-Boot/OrangePi/edk2/edk2-rk3588-$(version).tar.xz
220 kx SRC_ARCHIVE = $(tar_xz_archive)
220 kx SRC_DIR = $(TARGET_BUILD_DIR)/edk2-rk3588-$(version)
220 kx src_done = $(TARGET_BUILD_DIR)/.source_done
220 kx
220 kx PATCHES = PATCHES
220 kx
220 kx spi_flash_img = $(HARDWARE).spi-flash.image
220 kx spi_flash_image = $(TARGET_BUILD_DIR)/$(spi_flash_img)
220 kx install_spi_flash_image = $(TARGET_BUILD_DIR)/.spi_flash_image_done
220 kx
220 kx spi_flash_image_sum = $(TARGET_BUILD_DIR)/$(HARDWARE).spi-flash.image.md5
220 kx install_spi_flash_image_sum = $(TARGET_BUILD_DIR)/.spi_flash_image_sum_done
220 kx
220 kx
220 kx ####### Targets
220 kx
220 kx PKG_GROUP = boot
220 kx
220 kx EDK2_BIN_PKG_NAME = edk2
220 kx EDK2_BIN_PKG_VERSION = 0.9.1.1
220 kx EDK2_BIN_PKG_ARCH = $(PKGARCH)
220 kx EDK2_BIN_PKG_DISTRO_NAME = $(DISTRO_NAME)
220 kx EDK2_BIN_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
220 kx EDK2_BIN_PKG_GROUP = $(PKG_GROUP)
220 kx ### |---handy-ruler-------------------------------|
220 kx EDK2_BIN_PKG_SHORT_DESCRIPTION = EDK2 UEFI firmware
220 kx EDK2_BIN_PKG_URL = $(BUG_URL)
220 kx EDK2_BIN_PKG_LICENSE = custom
220 kx EDK2_BIN_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(EDK2_BIN_PKG_NAME)-pkg-description
220 kx EDK2_BIN_PKG_DESCRIPTION_FILE_IN = $(EDK2_BIN_PKG_NAME)-pkg-description.in
220 kx EDK2_BIN_PKG_INSTALL_SCRIPT = $(EDK2_BIN_PKG_NAME)-pkg-install.sh
220 kx
220 kx EDK2_BIN_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(EDK2_BIN_PKG_NAME)-package
220 kx
220 kx build_edk2_pkg = $(TARGET_BUILD_DIR)/.edk2_pkg_done
220 kx
220 kx pkg_basename = $(EDK2_BIN_PKG_NAME)-$(EDK2_BIN_PKG_VERSION)-$(EDK2_BIN_PKG_ARCH)-$(EDK2_BIN_PKG_DISTRO_NAME)-$(EDK2_BIN_PKG_DISTRO_VERSION)
220 kx
220 kx pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
220 kx
220 kx pkg_certificate = $(call cert-name,$(pkg_archive))
220 kx pkg_signature = $(call sign-name,$(pkg_archive))
220 kx pkg_description = $(call desc-name,$(pkg_archive))
220 kx products = $(call pkg-files,$(pkg_archive))
220 kx
220 kx BUILD_TARGETS += $(spi_flash_image)
220 kx BUILD_TARGETS += $(install_spi_flash_image)
220 kx BUILD_TARGETS += $(install_spi_flash_image_sum)
220 kx BUILD_TARGETS += $(build_edk2_pkg)
220 kx
220 kx PRODUCT_TARGETS = $(products)
220 kx
220 kx ROOTFS_TARGETS = $(pkg_archive)
220 kx
220 kx
220 kx include ../../../../build-system/core.mk
220 kx
220 kx
220 kx ####### Dependencies
220 kx
220 kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
220 kx $(UNPACK_SRC_ARCHIVE)
220 kx $(APPLY_PATCHES)
220 kx @touch $@
220 kx
220 kx $(spi_flash_image): $(src_done)
220 kx @( cd $(SRC_DIR) ; \
220 kx PKG_CONFIG_PATH= \
220 kx CROSS_COMPILE='$(CROSS_PREFIX)' \
220 kx ./build.sh --device orangepi-5 --skip-rootfs-gen ; \
220 kx cp RK3588_NOR_FLASH.img ../$(spi_flash_img) ; \
220 kx )
220 kx @touch $@
220 kx
220 kx $(install_spi_flash_image): $(spi_flash_image)
220 kx @$(BUILDSYSTEM)/install_targets \
220 kx --destination=$(PRODUCTS_DEST_DIR) \
220 kx --toolchain=$(TOOLCHAIN) \
220 kx --hardware=$(HARDWARE) \
220 kx --flavour=$(FLAVOUR) \
220 kx $^
220 kx @touch $@
220 kx
220 kx $(spi_flash_image_sum): $(spi_flash_image)
220 kx @( cd $(TARGET_BUILD_DIR) ; \
220 kx md5sum -b $(HARDWARE).spi-flash.image > $(HARDWARE).spi-flash.image.md5 ; \
220 kx )
220 kx @touch $@
220 kx
220 kx $(install_spi_flash_image_sum): $(spi_flash_image_sum)
220 kx @$(BUILDSYSTEM)/install_targets \
220 kx --destination=$(PRODUCTS_DEST_DIR) \
220 kx --toolchain=$(TOOLCHAIN) \
220 kx --hardware=$(HARDWARE) \
220 kx --flavour=$(FLAVOUR) \
220 kx $^
220 kx @touch $@
220 kx
220 kx $(build_edk2_pkg): $(install_spi_flash_image_sum)
220 kx @mkdir -p $(TARGET_DEST_DIR)/bootfs/edk2
220 kx @mkdir -p $(EDK2_BIN_PKG)/boot/edk2
220 kx # ======= install EDK2 image =======
220 kx @cp -a $(spi_flash_image) $(spi_flash_image_sum) $(TARGET_DEST_DIR)/bootfs/edk2/
220 kx @cp -a $(spi_flash_image) $(EDK2_BIN_PKG)/boot/edk2/spi-flash.image
220 kx @( cd $(EDK2_BIN_PKG)/boot/edk2/ ; \
220 kx md5sum -b spi-flash.image > spi-flash.image.md5 ; \
220 kx )
220 kx # ======= install Documentation =======
220 kx @mkdir -p $(EDK2_BIN_PKG)/usr/doc/edk2-$(EDK2_BIN_PKG_VERSION)
220 kx @mkdir -p $(EDK2_BIN_PKG)/usr/share/doc/edk2-$(EDK2_BIN_PKG_VERSION)
220 kx @( cd $(SRC_DIR)/edk2 ; \
220 kx cat License.txt | tr -d '\r' \
220 kx > $(EDK2_BIN_PKG)/usr/doc/edk2-$(EDK2_BIN_PKG_VERSION)/LICENSE ; \
220 kx cat License.txt | tr -d '\r' \
220 kx > $(EDK2_BIN_PKG)/usr/share/doc/edk2-$(EDK2_BIN_PKG_VERSION)/LICENSE ; \
220 kx )
220 kx @cp -a $(SRC_DIR)/README.md \
220 kx $(EDK2_BIN_PKG)/usr/share/doc/edk2-$(EDK2_BIN_PKG_VERSION)
220 kx @touch $@
220 kx
220 kx $(EDK2_BIN_PKG_DESCRIPTION_FILE): $(EDK2_BIN_PKG_DESCRIPTION_FILE_IN)
220 kx @cat $< | $(SED) -e "s/@VERSION@/$(EDK2_BIN_PKG_VERSION)/g" | \
220 kx $(SED) -e "s/@HARDWARE_SPEC@/$(HW_SPEC)/g"> $@
220 kx
220 kx $(pkg_certificate) : $(pkg_archive) ;
220 kx $(pkg_signature) : $(pkg_archive) ;
220 kx $(pkg_description) : $(pkg_archive) ;
220 kx
220 kx $(pkg_archive): $(build_edk2_pkg) $(EDK2_BIN_PKG_DESCRIPTION_FILE) $(EDK2_BIN_PKG_INSTALL_SCRIPT)
220 kx @cp $(EDK2_BIN_PKG_DESCRIPTION_FILE) $(EDK2_BIN_PKG)/.DESCRIPTION
220 kx @cp $(EDK2_BIN_PKG_INSTALL_SCRIPT) $(EDK2_BIN_PKG)/.INSTALL
220 kx @chmod a+x $(EDK2_BIN_PKG)/.INSTALL
220 kx @$(BUILD_PKG_REQUIRES) $(EDK2_BIN_PKG)/.REQUIRES
220 kx @echo "pkgname=$(EDK2_BIN_PKG_NAME)" > $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "pkgver=$(EDK2_BIN_PKG_VERSION)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "arch=$(EDK2_BIN_PKG_ARCH)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "distroname=$(EDK2_BIN_PKG_DISTRO_NAME)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "distrover=$(EDK2_BIN_PKG_DISTRO_VERSION)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "group=$(EDK2_BIN_PKG_GROUP)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "short_description=\"$(EDK2_BIN_PKG_SHORT_DESCRIPTION)\"" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "url=$(EDK2_BIN_PKG_URL)" >> $(EDK2_BIN_PKG)/.PKGINFO ; \
220 kx echo "license=$(EDK2_BIN_PKG_LICENSE)" >> $(EDK2_BIN_PKG)/.PKGINFO
220 kx @$(PSEUDO) sh -c "cd $(EDK2_BIN_PKG) && \
220 kx chown -R root:root . && \
220 kx $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."