[PATCH] Makefile: Force regeneration of env.txt

Andrew Davis afd at ti.com
Tue Sep 5 20:15:18 CEST 2023


On 9/5/23 1:09 PM, Andrew Davis wrote:
> If the source .env file changes to one that is also older than
> the generated env.txt file then it is not regenerated. This means
> when switching board configs we do not regenerate the env. This
> can be tested easily with:
> 
> $ make j721e_evm_a72_defconfig
> $ make # this may fail to complete but that is okay for this test
> $ make am64x_evm_a53_defconfig
> $ make
> $ vim include/generated/env.txt
> 
> Note this is still the J721e env not the AM64 config as expected.
> 
> There is probably a better way to detect if the dependency name changed,
> but that may involve extra files and hashing contents, so let's just
> force it for now.
> 
> Signed-off-by: Andrew Davis <afd at ti.com>
> ---

This is basically a revert of:
36fc832927eb ("Makefile: Fix incorrect FORCE deps on env rules")

But without changing the `include/generated/env.in` rule. The more
I think about it, that should also be changed to forced as right
now any changes to include/config.h or other kconfig options are
not reflected in the env.in file after updates.

That rule should depend on the generated config file so that any
change in kconfig variables will cause it to regenerate, that
might be what we need for this target instead of FORCE.

Andrew

>   Makefile | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 9be24c4ec61..d195590d4b0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1830,7 +1830,7 @@ quiet_cmd_envc = ENVC    $@
>   		touch $@ ; \
>   	fi
>   
> -include/generated/env.txt: $(wildcard $(ENV_FILE))
> +include/generated/env.txt: $(wildcard $(ENV_FILE)) FORCE
>   	$(call cmd,envc)
>   
>   # Write out the resulting environment, converted to a C string


More information about the U-Boot mailing list