]> git.sur5r.net Git - u-boot/blobdiff - scripts/Makefile.autoconf
kbuild: generate u-boot.cfg as a byproduct of include/autoconf.mk
[u-boot] / scripts / Makefile.autoconf
index ba674f849eaa18ca6dcf2188af0594b508ef7a63..2f85eb9599148145cf9b3d38b3acbb0d0b2bbe85 100644 (file)
@@ -58,29 +58,44 @@ include/autoconf.mk.dep: include/config.h FORCE
 # same CONFIG macros
 quiet_cmd_autoconf = GEN     $@
       cmd_autoconf = \
-       $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \
-               sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp |               \
+               sed -n -f $(srctree)/tools/scripts/define2mk.sed $< |                   \
                while read line; do                                                     \
                        if [ -n "${KCONFIG_IGNORE_DUPLICATES}" ] ||                     \
                           ! grep -q "$${line%=*}=" include/config/auto.conf; then      \
                                echo "$$line";                                          \
                        fi                                                              \
-               done > $@;                                                              \
-               rm $@.tmp;                                                              \
-       } || {                                                                          \
-               rm $@.tmp; false;                                                       \
+               done > $@
+
+quiet_cmd_u_boot_cfg = CFG     $@
+      cmd_u_boot_cfg = \
+       $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \
+               grep 'define CONFIG_' $@.tmp > $@;                      \
+               rm $@.tmp;                                              \
+       } || {                                                          \
+               rm $@.tmp; false;                                       \
        }
 
-include/autoconf.mk: include/config.h FORCE
+u-boot.cfg: include/config.h FORCE
+       $(call cmd,u_boot_cfg)
+
+spl/u-boot.cfg: include/config.h FORCE
+       $(Q)mkdir -p $(dir $@)
+       $(call cmd,u_boot_cfg,-DCONFIG_SPL_BUILD)
+
+tpl/u-boot.cfg: include/config.h FORCE
+       $(Q)mkdir -p $(dir $@)
+       $(call cmd,u_boot_cfg,-DCONFIG_SPL_BUILD -DCONFIG_TPL_BUILD)
+
+include/autoconf.mk: u-boot.cfg
        $(call cmd,autoconf)
 
-spl/include/autoconf.mk: include/config.h FORCE
+spl/include/autoconf.mk: spl/u-boot.cfg
        $(Q)mkdir -p $(dir $@)
-       $(call cmd,autoconf,-DCONFIG_SPL_BUILD)
+       $(call cmd,autoconf)
 
-tpl/include/autoconf.mk: include/config.h FORCE
+tpl/include/autoconf.mk: tpl/u-boot.cfg
        $(Q)mkdir -p $(dir $@)
-       $(call cmd,autoconf,-DCONFIG_SPL_BUILD -DCONFIG_TPL_BUILD)
+       $(call cmd,autoconf)
 
 # include/config.h
 # Prior to Kconfig, it was generated by mkconfig. Now it is created here.