diff mbox

[U-Boot] Makefile: add dependencies to regenerate u-boot.cfg when lost

Message ID 1499268640-24534-1-git-send-email-philipp.tomsich@theobroma-systems.com
State Accepted
Commit 0d982c5853304ca366de3d3fbb24a2fba410fa6e
Delegated to: Tom Rini
Headers show

Commit Message

Philipp Tomsich July 5, 2017, 3:30 p.m. UTC
When running a 'make clean' or carelessly removing u-boot.cfg, all
future make invocations (until autoconf is regenerated) will print
an error for a missing u-boot.cfg due to missing rules and dependencies.

This commit adds (i) an explicit rule dependency from all (which will
invokes the configuration checker) to cfg, and (b) adds a rule to
invoke scripts/Makefile.autoconf to regenerate u-boot.cfg.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
---

 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Simon Glass July 7, 2017, 3:59 a.m. UTC | #1
On 5 July 2017 at 09:30, Philipp Tomsich
<philipp.tomsich@theobroma-systems.com> wrote:
> When running a 'make clean' or carelessly removing u-boot.cfg, all
> future make invocations (until autoconf is regenerated) will print
> an error for a missing u-boot.cfg due to missing rules and dependencies.
>
> This commit adds (i) an explicit rule dependency from all (which will

(a) ?

> invokes the configuration checker) to cfg, and (b) adds a rule to
> invoke scripts/Makefile.autoconf to regenerate u-boot.cfg.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
>
>  Makefile | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

That's a strange bug!

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> diff --git a/Makefile b/Makefile
> index 07dbd9f..9db5ab0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -516,6 +516,9 @@ include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
>         @# Otherwise, 'make silentoldconfig' would be invoked twice.
>         $(Q)touch include/config/auto.conf
>
> +u-boot.cfg spl/u-boot.cfg tpl/u-boot.cfg: include/config.h FORCE
> +       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf $(@)
> +
>  -include include/autoconf.mk
>  -include include/autoconf.mk.dep
>
> @@ -851,7 +854,7 @@ quiet_cmd_cfgcheck = CFGCHK  $2
>  cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
>                 $(srctree)/scripts/config_whitelist.txt $(srctree)
>
> -all:           $(ALL-y)
> +all:           $(ALL-y) cfg
>  ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y)
>         @echo "===================== WARNING ======================"
>         @echo "This board uses CONFIG_DM_I2C_COMPAT. Please remove"
> --
> 2.1.4
>
Bin Meng July 7, 2017, 6:08 a.m. UTC | #2
On Fri, Jul 7, 2017 at 11:59 AM, Simon Glass <sjg@chromium.org> wrote:
> On 5 July 2017 at 09:30, Philipp Tomsich
> <philipp.tomsich@theobroma-systems.com> wrote:
>> When running a 'make clean' or carelessly removing u-boot.cfg, all
>> future make invocations (until autoconf is regenerated) will print
>> an error for a missing u-boot.cfg due to missing rules and dependencies.
>>
>> This commit adds (i) an explicit rule dependency from all (which will
>
> (a) ?
>
>> invokes the configuration checker) to cfg, and (b) adds a rule to
>> invoke scripts/Makefile.autoconf to regenerate u-boot.cfg.
>>
>> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>> ---
>>
>>  Makefile | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> That's a strange bug!
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>

Tested-by: Bin Meng <bmeng.cn@gmail.com>
Tom Rini July 25, 2017, 12:42 a.m. UTC | #3
On Wed, Jul 05, 2017 at 05:30:40PM +0200, Philipp Tomsich wrote:

> When running a 'make clean' or carelessly removing u-boot.cfg, all
> future make invocations (until autoconf is regenerated) will print
> an error for a missing u-boot.cfg due to missing rules and dependencies.
> 
> This commit adds (i) an explicit rule dependency from all (which will
> invokes the configuration checker) to cfg, and (b) adds a rule to
> invoke scripts/Makefile.autoconf to regenerate u-boot.cfg.
> 
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Tested-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 07dbd9f..9db5ab0 100644
--- a/Makefile
+++ b/Makefile
@@ -516,6 +516,9 @@  include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
 	@# Otherwise, 'make silentoldconfig' would be invoked twice.
 	$(Q)touch include/config/auto.conf
 
+u-boot.cfg spl/u-boot.cfg tpl/u-boot.cfg: include/config.h FORCE
+	$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf $(@)
+
 -include include/autoconf.mk
 -include include/autoconf.mk.dep
 
@@ -851,7 +854,7 @@  quiet_cmd_cfgcheck = CFGCHK  $2
 cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
 		$(srctree)/scripts/config_whitelist.txt $(srctree)
 
-all:		$(ALL-y)
+all:		$(ALL-y) cfg
 ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y)
 	@echo "===================== WARNING ======================"
 	@echo "This board uses CONFIG_DM_I2C_COMPAT. Please remove"