82 lines
2.5 KiB
Makefile
82 lines
2.5 KiB
Makefile
|
################################################################################
|
||
|
#
|
||
|
# 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))
|