[U-Boot] [PATCH v9 26/38] kbuild: generate {spl, tpl}-autoconf.mk only when it is necessary

Masahiro Yamada
2014-02-04T08:24:33Z

Before this commit, {spl,tpl}-autoconf.mk was always generated
at the top Makefile even if SPL(TPL) build was not selected.

This commit moves the build rule of {spl,tpl}-autoconf.mk
from the top Makefile to spl/Makefile.
It prevents unnecessary {spl,tpl}-autoconf.mk from being
generated.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Changes in v9: None
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

Makefile | 23 -----------------------
spl/Makefile | 16 ++++++++++++++++
2 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/Makefile b/Makefile
index 7af404a..1611957 100644
--- a/Makefile
+++ b/Makefile
@@ -890,9 +890,6 @@ tpl/u-boot-tpl.bin: $(SUBDIR_TOOLS) depend scripts_basic
# Explicitly make _depend in subdirs containing multiple targets to prevent
# parallel sub-makes creating .depend files simultaneously.
depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) \
- include/spl-autoconf.mk \
- include/tpl-autoconf.mk \
- include/autoconf.mk \
include/generated/generic-asm-offsets.h \
include/generated/asm-offsets.h

@@ -974,26 +971,6 @@ quiet_cmd_autoconf = GEN $@
include/autoconf.mk: include/config.h
$(call cmd,autoconf)

-# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
-quiet_cmd_tpl-autoconf = GEN $@
- cmd_tpl-autoconf = \
- $(CPP) $(c_flags) -DCONFIG_TPL_BUILD -DCONFIG_SPL_BUILD\
- -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
- sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
- rm $@.tmp
-
-include/tpl-autoconf.mk: include/config.h
- $(call cmd,tpl-autoconf)
-
-quiet_cmd_spl-autoconf = GEN $@
- cmd_spl-autoconf = \
- $(CPP) $(c_flags) -DCONFIG_SPL_BUILD -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
- sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
- rm $@.tmp
-
-include/spl-autoconf.mk: include/config.h
- $(call cmd,spl-autoconf)
-
quiet_cmd_offsets = GEN $@
cmd_offsets = $(srctree)/tools/scripts/make-asm-offsets $< $@

diff --git a/spl/Makefile b/spl/Makefile
index ad5b486..a59e48d 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -50,6 +50,22 @@ endif

include $(TOPDIR)/config.mk

+# FIX ME
+c_flags := $(KBUILD_CFLAGS) $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(UBOOTINCLUDE) $(NOSTDINC_FLAGS)
+
+# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
+quiet_cmd_autoconf = GEN $@
+ cmd_autoconf = \
+ $(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
+ sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
+ rm $@.tmp
+
+include/tpl-autoconf.mk: include/config.h
+ $(call cmd,autoconf)
+
+include/spl-autoconf.mk: include/config.h
+ $(call cmd,autoconf)
+
HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(SRCTREE)/board/$(VENDOR)/common/Makefile),y,n)

ifdef CONFIG_SPL_START_S_PATH
--
1.8.3.2