From 15b51878bec835c315c80529a0c4d147d681c8e9 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Wed, 10 Feb 2016 15:16:19 -0700 Subject: [PATCH] Makefile: remove BUILD_TAG from KBUILD_CFLAGS If BUILD_TAG is part of KBUILD_CFLAGS, then any time the value changes, all files get rebuilt. In a continuous integration environment, the value will change every build. This wastes time, assuming that incremental builds would otherwise occur. To solve this, remove BUILD_TAG from KBUILD_CFLAGS and add it to CFLAGS for just the one file that uses it. This does have the disadvantage that if any other files want to use the flag, we'll need to duplicate this custom CFLAGS setup logic. However, it seems unlikely we'll need this. An alternative would be to add BUILD_TAG to the "local version" and remove the special case code from display_options.c. However, that would affect the format of the U-Boot signon message, which may negatively affect people looking for specific data there. The approach of using file-specific CFLAGS was suggested by Masahiro Yamada. Signed-off-by: Stephen Warren Reviewed-by: Tom Rini Reviewed-by: Masahiro Yamada Acked-by: Simon Glass --- Makefile | 4 ---- lib/Makefile | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Makefile b/Makefile index a46c1aeed8..77cb8fa294 100644 --- a/Makefile +++ b/Makefile @@ -562,10 +562,6 @@ else KBUILD_CFLAGS += -O2 endif -ifdef BUILD_TAG -KBUILD_CFLAGS += -DBUILD_TAG='"$(BUILD_TAG)"' -endif - KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector) KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks) diff --git a/lib/Makefile b/lib/Makefile index dd36f25b2a..1e21bcc4c7 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -67,6 +67,7 @@ obj-$(CONFIG_ADDR_MAP) += addr_map.o obj-y += hashtable.o obj-y += errno.o obj-y += display_options.o +CFLAGS_display_options.o := $(if $(BUILD_TAG),-DBUILD_TAG='"$(BUILD_TAG)"') obj-$(CONFIG_BCH) += bch.o obj-y += crc32.o obj-y += ctype.o -- 2.25.1