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>
diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
index 9701272..3ca47ed 100644
--- a/make_helpers/build_macros.mk
+++ b/make_helpers/build_macros.mk
@@ -103,18 +103,20 @@
 #   $(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 @@
 # 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 @@
 # 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 @@
 
 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
 
diff --git a/make_helpers/tbbr/tbbr_tools.mk b/make_helpers/tbbr/tbbr_tools.mk
index cda8d72..0021017 100644
--- a/make_helpers/tbbr/tbbr_tools.mk
+++ b/make_helpers/tbbr/tbbr_tools.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
+# Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -47,8 +47,8 @@
 $(eval $(call CERT_ADD_CMD_OPT,${TRUSTED_KEY_CERT},--trusted-key-cert))
 
 # Add fwu certificate to the fiptool and cert_create command line options
-$(eval $(call FWU_FIP_ADD_PAYLOAD,${FWU_CERT},--fwu-cert))
-$(eval $(call FWU_CERT_ADD_CMD_OPT,${FWU_CERT},--fwu-cert))
+$(eval $(call FIP_ADD_PAYLOAD,${FWU_CERT},--fwu-cert,,FWU_))
+$(eval $(call CERT_ADD_CMD_OPT,${FWU_CERT},--fwu-cert,,FWU_))
 
 # Add the keys to the cert_create command line options (private keys are NOT
 # packed in the FIP). Developers can use their own keys by specifying the proper
@@ -56,7 +56,7 @@
 $(if ${KEY_ALG},$(eval $(call CERT_ADD_CMD_OPT,${KEY_ALG},--key-alg)))
 $(if ${HASH_ALG},$(eval $(call CERT_ADD_CMD_OPT,${HASH_ALG},--hash-alg)))
 $(if ${ROT_KEY},$(eval $(call CERT_ADD_CMD_OPT,${ROT_KEY},--rot-key)))
-$(if ${ROT_KEY},$(eval $(call FWU_CERT_ADD_CMD_OPT,${ROT_KEY},--rot-key)))
+$(if ${ROT_KEY},$(eval $(call CERT_ADD_CMD_OPT,${ROT_KEY},--rot-key,,FWU_)))
 $(if ${TRUSTED_WORLD_KEY},$(eval $(call CERT_ADD_CMD_OPT,${TRUSTED_WORLD_KEY},--trusted-world-key)))
 $(if ${NON_TRUSTED_WORLD_KEY},$(eval $(call CERT_ADD_CMD_OPT,${NON_TRUSTED_WORLD_KEY},--non-trusted-world-key)))
 
@@ -119,15 +119,15 @@
 endif
 
 # Add the BL2U image
-$(if ${BL2U},$(eval $(call FWU_CERT_ADD_CMD_OPT,${BL2U},--ap-fwu-cfg,true)),\
-     $(eval $(call FWU_CERT_ADD_CMD_OPT,$(call IMG_BIN,2u),--ap-fwu-cfg,true)))
+$(if ${BL2U},$(eval $(call CERT_ADD_CMD_OPT,${BL2U},--ap-fwu-cfg,true,FWU_)),\
+     $(eval $(call CERT_ADD_CMD_OPT,$(call IMG_BIN,2u),--ap-fwu-cfg,true,FWU_)))
 
 # Add the SCP_BL2U image
 ifneq (${SCP_BL2U},)
-    $(eval $(call FWU_CERT_ADD_CMD_OPT,${SCP_BL2U},--scp-fwu-cfg,true))
+    $(eval $(call CERT_ADD_CMD_OPT,${SCP_BL2U},--scp-fwu-cfg,true,FWU_))
 endif
 
 # Add the NS_BL2U image
 ifneq (${NS_BL2U},)
-    $(eval $(call FWU_CERT_ADD_CMD_OPT,${NS_BL2U},--fwu,true))
+    $(eval $(call CERT_ADD_CMD_OPT,${NS_BL2U},--fwu,true,FWU_))
 endif