summaryrefslogtreecommitdiff
path: root/make_helpers/build_macros.mk
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-01-26 11:42:01 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-02-01 20:20:03 +0900
commit1dc0714f10e195fe5fe5aed1f12a0a79f4fc0135 (patch)
tree9474f6d86e2d31d87839139d1c26ea40f6e8fcf0 /make_helpers/build_macros.mk
parent34ec84944c2d71adde30ca7c6601ab97b39b6427 (diff)
Build: merge build macros between FIP_ and FWU_FIP_
The build system supports generating two FIP images, fip and fwu_fip. Accordingly, we have similar build macros. FIP_ADD_PAYLOAD <--> FWU_FIP_ADD_PAYLOAD CERT_ADD_CMD_OPT <--> FWU_CERT_ADD_CMD_OPT FIP_ADD_IMG <--> FWU_FIP_ADD_IMG The duplicated code increases the maintenance burden. Also, the build rule of BL2U looks clumsy - we want to call MAKE_BL to compile it from source files, but we want to put it in fwu_fip. We can not do it in a single macro call since the current MAKE_BL does not support fwu_fip. To refactor those in a clean way is to support one more argument to specify the FIP prefix. If it is empty, the images are targeted to fip, whereas if the argument is "FWU_", targeted to fwu_fip. The build macros prefixed with FWU_ go away. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'make_helpers/build_macros.mk')
-rw-r--r--make_helpers/build_macros.mk55
1 files changed, 12 insertions, 43 deletions
diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
index 97012726..3ca47ed1 100644
--- a/make_helpers/build_macros.mk
+++ b/make_helpers/build_macros.mk
@@ -103,18 +103,20 @@ endef
# $(1) = payload filename (i.e. bl31.bin)
# $(2) = command line option for the specified payload (i.e. --soc-fw)
# $(3) = fip target dependency (optional) (i.e. bl31)
+# $(4) = FIP prefix (optional) (if FWU_, target is fwu_fip instead of fip)
define FIP_ADD_PAYLOAD
- $(eval FIP_ARGS += $(2) $(1))
- $(eval $(if $(3),FIP_DEPS += $(3)))
+ $(eval $(4)FIP_ARGS += $(2) $(1))
+ $(eval $(if $(3),$(4)FIP_DEPS += $(3)))
endef
# CERT_ADD_CMD_OPT adds a new command line option to the cert_create invocation
# $(1) = parameter filename
# $(2) = cert_create command line option for the specified parameter
# $(3) = input parameter (false if empty)
+# $(4) = FIP prefix (optional) (if FWU_, target is fwu_fip instead of fip)
define CERT_ADD_CMD_OPT
- $(eval $(if $(3),CRT_DEPS += $(1)))
- $(eval CRT_ARGS += $(2) $(1))
+ $(eval $(if $(3),$(4)CRT_DEPS += $(1)))
+ $(eval $(4)CRT_ARGS += $(2) $(1))
endef
# FIP_ADD_IMG allows the platform to specify an image to be packed in the FIP
@@ -122,47 +124,13 @@ endef
# the build if the file does not exist.
# $(1) = build option to specify the image filename (SCP_BL2, BL33, etc)
# $(2) = command line option for fiptool (--scp-fw, --nt-fw, etc)
+# $(3) = FIP prefix (optional) (if FWU_, target is fwu_fip instead of fip)
# Example:
# $(eval $(call FIP_ADD_IMG,BL33,--nt-fw))
define FIP_ADD_IMG
- CRT_DEPS += check_$(1)
- FIP_DEPS += check_$(1)
- $(call FIP_ADD_PAYLOAD,$(value $(1)),$(2))
-
-.PHONY: check_$(1)
-check_$(1):
- $$(if $(value $(1)),,$$(error "Platform '${PLAT}' requires $(1). Please set $(1) to point to the right file"))
- $$(if $(wildcard $(value $(1))),,$$(error '$(1)=$(value $(1))' was specified, but '$(value $(1))' does not exist))
-endef
-
-# FWU_FIP_ADD_PAYLOAD appends the command line arguments required by fiptool
-# to package a new FWU payload. Optionally, it adds the dependency on this payload
-# $(1) = payload filename (e.g. ns_bl2u.bin)
-# $(2) = command line option for the specified payload (e.g. --fwu)
-# $(3) = fip target dependency (optional) (e.g. ns_bl2u)
-define FWU_FIP_ADD_PAYLOAD
- $(eval $(if $(3),FWU_FIP_DEPS += $(3)))
- $(eval FWU_FIP_ARGS += $(2) $(1))
-endef
-
-# FWU_CERT_ADD_CMD_OPT adds a new command line option to the cert_create invocation
-# $(1) = parameter filename
-# $(2) = cert_create command line option for the specified parameter
-# $(3) = input parameter (false if empty)
-define FWU_CERT_ADD_CMD_OPT
- $(eval $(if $(3),FWU_CRT_DEPS += $(1)))
- $(eval FWU_CRT_ARGS += $(2) $(1))
-endef
-
-# FWU_FIP_ADD_IMG allows the platform to pack a binary image in the FWU FIP
-# $(1) build option to specify the image filename (BL2U, NS_BL2U, etc)
-# $(2) command line option for fiptool (--ap-fwu-cfg, --fwu, etc)
-# Example:
-# $(eval $(call FWU_FIP_ADD_IMG,BL2U,--ap-fwu-cfg))
-define FWU_FIP_ADD_IMG
- FWU_CRT_DEPS += check_$(1)
- FWU_FIP_DEPS += check_$(1)
- $(call FWU_FIP_ADD_PAYLOAD,$(value $(1)),$(2))
+ $(eval $(3)CRT_DEPS += check_$(1))
+ $(eval $(3)FIP_DEPS += check_$(1))
+ $(call FIP_ADD_PAYLOAD,$(value $(1)),$(2),,$(3))
.PHONY: check_$(1)
check_$(1):
@@ -265,6 +233,7 @@ BUILD_MESSAGE_TIMESTAMP ?= __TIME__", "__DATE__
# Arguments:
# $(1) = BL stage (2, 2u, 30, 31, 32, 33)
# $(2) = FIP command line option (if empty, image will not be included in the FIP)
+# $(3) = FIP prefix (optional) (if FWU_, target is fwu_fip instead of fip)
define MAKE_BL
$(eval BUILD_DIR := ${BUILD_PLAT}/bl$(1))
$(eval BL_SOURCES := $(BL$(call uppercase,$(1))_SOURCES))
@@ -326,7 +295,7 @@ bl$(1): $(BIN) $(DUMP)
all: bl$(1)
-$(if $(2),$(call FIP_ADD_PAYLOAD,$(BIN),--$(2),bl$(1)))
+$(if $(2),$(call FIP_ADD_PAYLOAD,$(BIN),--$(2),bl$(1),$(3)))
endef