################################################################################ # # qoriq-rcw # ################################################################################ QORIQ_RCW_VERSION = LSDK-21.08 QORIQ_RCW_SITE = $(call github,nxp-qoriq,rcw,$(QORIQ_RCW_VERSION)) QORIQ_RCW_LICENSE = BSD-3-Clause QORIQ_RCW_LICENSE_FILES = LICENSE HOST_QORIQ_RCW_DEPENDENCIES = $(BR2_PYTHON3_HOST_DEPENDENCY) QORIQ_RCW_FILES = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH)) QORIQ_RCW_INTREE = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_INTREE)) ifneq ($(QORIQ_RCW_FILES),) QORIQ_RCW_INCLUDES = $(filter-out %.rcw,$(QORIQ_RCW_FILES)) # Get the name of the custom rcw file from the custom list QORIQ_RCW_PROJECT = $(notdir $(filter %.rcw,$(QORIQ_RCW_FILES))) # Error if there are no or more than one .rcw file ifeq ($(BR_BUILDING),y) ifneq ($(words $(QORIQ_RCW_PROJECT)),1) $(error BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH must have exactly one .rcw file) endif endif ifneq ($(QORIQ_RCW_INCLUDES),) define HOST_QORIQ_RCW_ADD_CUSTOM_RCW_INCLUDES mkdir -p $(@D)/custom_board cp -f $(QORIQ_RCW_INCLUDES) $(@D)/custom_board endef HOST_QORIQ_RCW_POST_PATCH_HOOKS += HOST_QORIQ_RCW_ADD_CUSTOM_RCW_INCLUDES endif define HOST_QORIQ_RCW_ADD_CUSTOM_RCW_FILES mkdir -p $(@D)/custom_board/rcw cp -f $(filter %.rcw,$(QORIQ_RCW_FILES)) $(@D)/custom_board/rcw endef HOST_QORIQ_RCW_POST_PATCH_HOOKS += HOST_QORIQ_RCW_ADD_CUSTOM_RCW_FILES # rcw.py is a python3-only script, and we can be using either the # system-provided python3, or our own built with host-python3. # Fortunately, rcw.py uses #!/usr/bin/env python3, so it will # easily find it from PATH. define HOST_QORIQ_RCW_BUILD_CMDS PATH=$(BR_PATH) \ $(@D)/rcw.py \ -i $(@D)/custom_board/rcw/$(QORIQ_RCW_PROJECT) \ -I $(@D)/custom_board -o $(@D)/PBL.bin endef define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE $(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin endef else ifneq ($(QORIQ_RCW_INTREE),) QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_INTREE))) define HOST_QORIQ_RCW_BUILD_CMDS $(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM) endef define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE $(INSTALL) -D -m 0644 $(@D)/$(patsubst %.rcw,%.bin,$(QORIQ_RCW_INTREE)) \ $(BINARIES_DIR)/PBL.bin endef endif # Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer # could use a post image or SDK to build/install PBL files. define HOST_QORIQ_RCW_INSTALL_CMDS mkdir -p $(HOST_DIR)/share/rcw cp -a $(@D)/* $(HOST_DIR)/share/rcw $(HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE) endef $(eval $(host-generic-package))