d351bfb2bd
When the rcw tools is built, it is probably to generate the RCW (Reset Configuration Word) of the target. So it makes sense to do this directly in the Buildroot infra and install it in the images directory, just like we do for e.g. device tree blobs. Add an option BR2_PACKAGE_HOST_RCW_CUSTOM_PATH that allows to specify the source for the RCW. And while we're at it, make it possible to specify multiple .rcw and .rcwi files, just like for device trees. Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com> [Arnout: * Reword help text and commit message * Remove definition of RCW_DELIVERY_FILE * Define and use RCW_FILES * Enclose everything in ifneq($(RCW_FILES),) * Enclose error in ifeq($(BR_BUILDING),y) * Add actual error message * Don't limit to only %.rcwi files * Don't delete *.bin ] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
################################################################################
|
|
#
|
|
# rcw
|
|
#
|
|
################################################################################
|
|
|
|
RCW_VERSION = LSDK-18.12
|
|
RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
|
|
RCW_SITE_METHOD = git
|
|
RCW_LICENSE = BSD-3-Clause
|
|
RCW_LICENSE_FILES = LICENSE
|
|
|
|
RCW_FILES = $(call qstrip,$(BR2_PACKAGE_HOST_RCW_CUSTOM_PATH))
|
|
|
|
ifneq ($(RCW_FILES),)
|
|
# Get the name of the custom rcw file from the custom list
|
|
RCW_PROJECT = $(notdir $(filter %.rcw,$(RCW_FILES)))
|
|
|
|
# Error if there are no or more than one .rcw file
|
|
ifeq ($(BR_BUILDING),y)
|
|
ifneq ($(words $(RCW_PROJECT)),1)
|
|
$(error BR2_PACKAGE_HOST_RCW_CUSTOM_PATH must have exactly one .rcw file)
|
|
endif
|
|
endif
|
|
|
|
define HOST_RCW_ADD_CUSTOM_RCW_FILES
|
|
mkdir -p $(@D)/custom_board/rcw
|
|
cp -f $(filter-out %.rcw,$(RCW_FILES)) $(@D)/custom_board
|
|
cp -f $(filter %.rcw,$(RCW_FILES)) $(@D)/custom_board/rcw
|
|
endef
|
|
HOST_RCW_POST_PATCH_HOOKS += HOST_RCW_ADD_CUSTOM_RCW_FILES
|
|
|
|
define HOST_RCW_BUILD_CMDS
|
|
python $(@D)/rcw.py -i $(@D)/custom_board/rcw/$(RCW_PROJECT) -I $(@D)/custom_board -o $(@D)/PBL.bin
|
|
endef
|
|
|
|
define HOST_RCW_INSTALL_DELIVERY_FILE
|
|
$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(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_RCW_INSTALL_CMDS
|
|
mkdir -p $(HOST_DIR)/share/rcw
|
|
cp -a $(@D)/* $(HOST_DIR)/share/rcw
|
|
$(HOST_RCW_INSTALL_DELIVERY_FILE)
|
|
endef
|
|
|
|
$(eval $(host-generic-package))
|