Build: refactor BL32 build rules
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 26 Jan 2018 02:42:01 +0000 (11:42 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 1 Feb 2018 11:20:03 +0000 (20:20 +0900)
This complicated if-conditional combo was introduced by commit
70d1fc5383b9 ("Fix build error when `BL32` is not defined") in order
to fix the compile error of "make all" when SPD=opteed is given.

The requirement for the build system is like follows:

 - If both BL32 and BL32_SOURCES are defined, the former takes
   precedence.

 - If BL32 is undefined but BL32_SOURCES is defined, we compile
   BL32 from the source files.

 - We want to let the build fail if neither of them is defined,
   but we want to check it only when we are building FIP.

Refactor the code to not call FIP_ADD_IMG twice.  The behavior is
still the same.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Makefile

index bc10bb7ff0ea9410c4dbf9e332dbe4fabe360801..c066845f0f50a1fe937fcc6aa574afbf8805aaf1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -616,9 +616,11 @@ endif
 # build system will call FIP_ADD_IMG to print a warning message and abort the
 # process. Note that the dependency on BL32 applies to the FIP only.
 ifeq (${NEED_BL32},yes)
-$(if ${BL32}, $(eval $(call FIP_ADD_IMG,BL32,${BL32},--tos-fw)),\
-       $(if ${BL32_SOURCES}, $(eval $(call MAKE_BL,32,tos-fw)),\
-               $(eval $(call FIP_ADD_IMG,BL32,--tos-fw))))
+
+BUILD_BL32 := $(if $(BL32),,$(if $(BL32_SOURCES),1))
+
+$(if ${BUILD_BL32}, $(eval $(call MAKE_BL,32,tos-fw)),\
+       $(eval $(call FIP_ADD_IMG,BL32,--tos-fw)))
 endif
 
 # Add the BL33 image if required by the platform