TF-A-STM32MP: update Makefile.sdk to use specific build folder per soc

Signed-off-by: Romuald JEANNE <romuald.jeanne@st.com>
Change-Id: If8262a0f68c5376058d18ed5cdd73dc29765d9b2
This commit is contained in:
Romuald JEANNE 2022-06-27 09:37:20 +02:00
parent 27684df52f
commit f90ba0c0be
1 changed files with 43 additions and 33 deletions

View File

@ -72,58 +72,62 @@ define tf-configs
echo " tf-a build target: \$(if \$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET_\$(1)))" ;
endef
# Configure TF-A make rules
# Configure TF-A make rules ( tf-<CONFIG>-<SOC>: <DEPS> )
define tf-rules
tf-\$(1): \$2
@mkdir -p \$(BLD_PATH)/\$(1)
tf-\$(1)-\$(2): \$3
@\$(foreach dt, \$(if \$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE_\$(1))), \\
\$(if \$(findstring \$(2),\$(dt)), \\
\$(MAKE) \$(EXTRA_OEMAKE) -C \$(SRC_PATH) \\
BUILD_PLAT=\$(BLD_PATH)/\$(1) \\
BUILD_PLAT=\$(BLD_PATH)/\$(1)-\$(2) \\
DTB_FILE_NAME=\$(dt).dtb \\
\$(if \$(TF_A_EXTRA_OPTFLAGS),\$(TF_A_EXTRA_OPTFLAGS),\$(TF_A_EXTRA_OPTFLAGS_\$(1))) \\
\$(if \$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET_\$(1))) \\
\$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),\$(shell echo \$(soc) | tr a-z A-Z)=1,)) ; \\
\$(shell echo \$(2) | tr a-z A-Z)=1 ; \\
,) \\
)
endef
# Configure TF-A deploy rules
# Configure TF-A deploy rules ( deploy-<CONFIG>-<SOC>: tf-<CONFIG>-<SOC> [\$(3)=<BINARY>] )
define deploy-rules
deploy-\$(1): tf-\$(1)
deploy-\$(1)-\$(2): tf-\$(1)-\$(2)
@mkdir -p \$(DEPLOYDIR)
@mkdir -p \$(DEPLOYDIR)/debug
@\$(foreach dt, \$(if \$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE_\$(1))), \\
if [ -f \$(BLD_PATH)/\$(1)/\$(2)-\$(dt).${TF_A_SUFFIX} ]; then \\
cp -f \$(BLD_PATH)/\$(1)/\$(2)-\$(dt).${TF_A_SUFFIX} \$(DEPLOYDIR)/\$(2)-\$(dt)-\$(1).${TF_A_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/\$(3)-\$(dt).${TF_A_SUFFIX} ]; then \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/\$(3)-\$(dt).${TF_A_SUFFIX} \$(DEPLOYDIR)/\$(3)-\$(dt)-\$(1).${TF_A_SUFFIX} ; \\
if [ "\$(TF_A_ENABLE_DEBUG_WRAPPER)" = "1" ] ; then \\
stm32wrapper4dbg -s \$(BLD_PATH)/\$(1)/\$(2)-\$(dt).${TF_A_SUFFIX} -d \$(DEPLOYDIR)/debug/debug-\$(2)-\$(dt)-\$(1).${TF_A_SUFFIX} ; \\
stm32wrapper4dbg -s \$(BLD_PATH)/\$(1)-\$(2)/\$(3)-\$(dt).${TF_A_SUFFIX} -d \$(DEPLOYDIR)/debug/debug-\$(3)-\$(dt)-\$(1).${TF_A_SUFFIX} ; \\
fi ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL32_BASENAME}.${BL32_SUFFIX} ] ; then \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_BASENAME}.${BL32_SUFFIX} ] ; then \\
mkdir -p \$(BL32_DEPLOYDIR) ; \\
cp -f \$(BLD_PATH)/\$(1)/${BL32_BASENAME}.${BL32_SUFFIX} \$(BL32_DEPLOYDIR)/\$(2)-${BL32_BASENAME}\$(strip \$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),-\$(soc),))).${BL32_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} ]; then \\
cp -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} \$(BL32_DEPLOYDIR)/ ; \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_BASENAME}.${BL32_SUFFIX} \$(BL32_DEPLOYDIR)/\$(3)-${BL32_BASENAME}-\$(2).${BL32_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} ]; then \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} \$(BL32_DEPLOYDIR)/ ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL32_ELF} ]; then \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_ELF} ]; then \\
mkdir -p \$(BL32_DEPLOYDIR)/debug ; \\
mv -f \$(BLD_PATH)/\$(1)/${BL32_ELF} \$(BL32_DEPLOYDIR)/debug/\$(2)-${BL32_BASENAME}\$(strip \$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),-\$(soc),))).${TF_A_ELF_SUFFIX} ; \\
mv -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_ELF} \$(BL32_DEPLOYDIR)/debug/\$(3)-${BL32_BASENAME}-\$(2).${TF_A_ELF_SUFFIX} ; \\
fi ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${FWCONFIG_NAME}.${DT_SUFFIX} ]; then \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/fdts/\$(dt)-${FWCONFIG_NAME}.${DT_SUFFIX} ]; then \\
mkdir -p \$(FWCONFIG_DEPLOYDIR) ; \\
cp -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${FWCONFIG_NAME}.${DT_SUFFIX} \$(FWCONFIG_DEPLOYDIR)/\$(dt)-${FWCONFIG_NAME}-\$(1).${DT_SUFFIX} ; \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/fdts/\$(dt)-${FWCONFIG_NAME}.${DT_SUFFIX} \$(FWCONFIG_DEPLOYDIR)/\$(dt)-${FWCONFIG_NAME}-\$(1).${DT_SUFFIX} ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL2_ELF} ] ; then \\
cp -f \$(BLD_PATH)/\$(1)/${BL2_ELF} \$(DEPLOYDIR)/debug/\$(2)-${BL2_BASENAME}-\$(1).${TF_A_ELF_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/${BL2_ELF} ] ; then \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/${BL2_ELF} \$(DEPLOYDIR)/debug/\$(2)-${BL2_BASENAME}-\$(1).${TF_A_ELF_SUFFIX} ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL32_ELF} ] ; then \\
cp -f \$(BLD_PATH)/\$(1)/${BL32_ELF} \$(DEPLOYDIR)/debug/\$(2)-${BL32_BASENAME}-\$(1).${TF_A_ELF_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_ELF} ] ; then \\
cp -f \$(BLD_PATH)/\$(1)-\$(2)/${BL32_ELF} \$(DEPLOYDIR)/debug/\$(2)-${BL32_BASENAME}-\$(1).${TF_A_ELF_SUFFIX} ; \\
fi ; \\
)
endef
# Configure overall deploy rules list
deploy-targets := \$(foreach config, \$(TF_A_CONFIG), \$(foreach soc, ${STM32MP_SOC_NAME}, deploy-\$(config)-\$(soc)))
# Set dependencies list for building all
DEPS = \$(addprefix deploy-,\$(TF_A_CONFIG))
DEPS = \$(deploy-targets)
DEPS += fip
DEPS += metadata
@ -170,12 +174,16 @@ host_tools:
@\$(MAKE) --no-print-directory -C \$(SRC_PATH)/tools/stm32image
# Set TF-A make rules
\$(foreach config, \$(TF_A_CONFIG), \$(eval \$(call tf-rules,\$(config),host_tools)))
\$(foreach config, \$(TF_A_CONFIG), \\
\$(foreach soc, ${STM32MP_SOC_NAME}, \\
\$(eval \$(call tf-rules,\$(config),\$(soc),host_tools))))
# Set TF-A deploy rules
\$(foreach config, \$(TF_A_CONFIG), \$(eval \$(call deploy-rules,\$(config),\$(if \$(TF_A_BINARY),\$(TF_A_BINARY),\$(TF_A_BINARY_\$(config))))))
\$(foreach config, \$(TF_A_CONFIG), \\
\$(foreach soc, ${STM32MP_SOC_NAME}, \\
\$(eval \$(call deploy-rules,\$(config),\$(soc),\$(if \$(TF_A_BINARY),\$(TF_A_BINARY),\$(TF_A_BINARY_\$(config)))))))
fip: \$(addprefix deploy-,\$(TF_A_CONFIG))
fip: \$(deploy-targets)
for config in \$(TF_A_CONFIG) ; do \\
if [ "\$\$config" = "trusted" ]; then \\
FIP_DEPLOYDIR_TFA=\$(BL32_DEPLOYDIR) FIP_DEPLOYDIR_FWCONF=\$(FWCONFIG_DEPLOYDIR) FIP_DEVICETREE="\$(if \$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE),\$(TF_A_DEVICETREE_trusted))" FIP_CONFIG="trusted" FIP_BL32_CONF="tfa" fiptool-stm32mp ; \\
@ -185,7 +193,7 @@ fip: \$(addprefix deploy-,\$(TF_A_CONFIG))
fi ; \\
done
stm32: \$(addprefix deploy-,\$(TF_A_CONFIG))
stm32: \$(deploy-targets)
metadata:
@mkdir -p \$(DEPLOYDIR)
@ -193,8 +201,10 @@ metadata:
clean:
@for config in \$(TF_A_CONFIG) ; do \\
echo "Removing \$(BLD_PATH)/\$\$config ..." ; \\
rm -rf \$(BLD_PATH)/\$\$config ; \\
for soc in ${STM32MP_SOC_NAME}; do \\
echo "Removing \$(BLD_PATH)/\$\$config-\$\$soc ..." ; \\
rm -rf \$(BLD_PATH)/\$\$config-\$\$soc ; \\
done ; \\
done
@echo "Removing \$(DEPLOYDIR) ..."
@rm -rf \$(DEPLOYDIR)