build_macros: Add mechanism to prevent bin generation.

On certain platforms it does not make sense to generate
TF-A binary images. For example a platform could make use of serveral
memory areas, which are non-continuous and the resulting binary
therefore would suffer from the padding-bytes.
Typically these platforms use the ELF image.

This patch introduces a variable DISABLE_BIN_GENERATION, which
can be set to '1' in the platform makefile to prevent the binary

Signed-off-by: Christoph Müllner <>
Change-Id: I62948e88bab685bb055fe6167d9660d14e604462
diff --git a/docs/user-guide.rst b/docs/user-guide.rst
index 01cf17a..2a21bd2 100644
--- a/docs/user-guide.rst
+++ b/docs/user-guide.rst
@@ -369,6 +369,10 @@
 -  ``DEBUG``: Chooses between a debug and release build. It can take either 0
    (release) or 1 (debug) as values. 0 is the default.
+-  ``DISABLE_BIN_GENERATION``: Boolean option to disable the generation
+   of the binary image. If set to 1, then only the ELF image is built.
+   0 is the default.
 -  ``DYN_DISABLE_AUTH``: Provides the capability to dynamically disable Trusted
    Board Boot authentication at runtime. This option is meant to be enabled only
    for development platforms. ``TRUSTED_BOARD_BOOT`` flag must be set if this
diff --git a/make_helpers/ b/make_helpers/
index 5d33954..2d41b2d 100644
--- a/make_helpers/
+++ b/make_helpers/
@@ -438,6 +438,11 @@
 		--script $(LINKERFILE) $(BUILD_DIR)/build_message.o \
+	@echo "Built $$@ successfully"
 $(DUMP): $(ELF)
 	$${ECHO} "  OD      $$@"
@@ -451,7 +456,11 @@
 .PHONY: bl$(1)
+bl$(1): $(ELF) $(DUMP)
 bl$(1): $(BIN) $(DUMP)
 all: bl$(1)
diff --git a/make_helpers/ b/make_helpers/
index be84f77..dc797ed 100644
--- a/make_helpers/
+++ b/make_helpers/
@@ -62,6 +62,9 @@
 # Build platform
 DEFAULT_PLAT			:= fvp
+# Disable the generation of the binary image (ELF only).
 # Enable capability to disable authentication dynamically. Only meant for
 # development platforms.