Build: add GZIP compression filter
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 15:18:50 +0000 (00:18 +0900)
One typical usage of the pre-tool image filter is data compression,
and GZIP is one of the most commonly used compression methods.
I guess this is generic enough to be put in the common script instead
of platform.mk.

If you want to use this, you can add something like follows to your
platform.mk:

    BL32_PRE_TOOL_FILTER := GZIP
    BL33_PRE_TOOL_FILTER := GZIP

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
make_helpers/build_macros.mk

index 7ff1e154e97565c438e39984d9c817176e764c6c..0d2cf1063aebe55ec7665abf3e44d71a2b68c717 100644 (file)
@@ -170,6 +170,19 @@ check_$(1):
        $$(if $(wildcard $(value $(_V))),,$$(error '$(_V)=$(value $(_V))' was specified, but '$(value $(_V))' does not exist))
 endef
 
+################################################################################
+# Generic image processing filters
+################################################################################
+
+# GZIP
+define GZIP_RULE
+$(1): $(2)
+       @echo "  GZIP    $$@"
+       $(Q)gzip -n -f -9 $$< --stdout > $$@
+endef
+
+GZIP_SUFFIX := .gz
+
 ################################################################################
 # Auxiliary macros to build TF images from sources
 ################################################################################