build_macros: Add mechanism to prevent bin generation.
authorChristoph Müllner <christophm30@gmail.com>
Wed, 24 Apr 2019 07:45:30 +0000 (09:45 +0200)
committerChristoph Müllner <christophm30@gmail.com>
Thu, 2 May 2019 10:27:19 +0000 (12:27 +0200)
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
generation.

Signed-off-by: Christoph Müllner <christophm30@gmail.com>
Change-Id: I62948e88bab685bb055fe6167d9660d14e604462

docs/user-guide.rst
make_helpers/build_macros.mk
make_helpers/defaults.mk

index 01cf17a23d2824a2728517d5a69c6bc4dc9a6118..2a21bd2156f518898e33cf53e3b096a010550be6 100644 (file)
@@ -369,6 +369,10 @@ Common build options
 -  ``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
index 5d33954ad1947a221fd4b6aef56084af8ff3b917..2d41b2db17ac640914a38f5c8e33e717c95f6935 100644 (file)
@@ -438,6 +438,11 @@ else
                --script $(LINKERFILE) $(BUILD_DIR)/build_message.o \
                $(OBJS) $(LDPATHS) $(LIBWRAPPER) $(LDLIBS) $(BL_LIBS)
 endif
+ifeq ($(DISABLE_BIN_GENERATION),1)
+       @${ECHO_BLANK_LINE}
+       @echo "Built $$@ successfully"
+       @${ECHO_BLANK_LINE}
+endif
 
 $(DUMP): $(ELF)
        $${ECHO} "  OD      $$@"
@@ -451,7 +456,11 @@ $(BIN): $(ELF)
        @${ECHO_BLANK_LINE}
 
 .PHONY: bl$(1)
+ifeq ($(DISABLE_BIN_GENERATION),1)
+bl$(1): $(ELF) $(DUMP)
+else
 bl$(1): $(BIN) $(DUMP)
+endif
 
 all: bl$(1)
 
index be84f7791267039f7878ad149693cb65d2f389d3..dc797ed1f61ec34993ca7784ae9b10ac71a0d0e5 100644 (file)
@@ -62,6 +62,9 @@ DEBUG                         := 0
 # Build platform
 DEFAULT_PLAT                   := fvp
 
+# Disable the generation of the binary image (ELF only).
+DISABLE_BIN_GENERATION         := 0
+
 # Enable capability to disable authentication dynamically. Only meant for
 # development platforms.
 DYN_DISABLE_AUTH               := 0