[PATCH v2] Makefile: Force regeneration of env.txt

If the source .env file changes to one that is also older than the generated env.txt file then the .env file is not regenerated. This means when switching board configs we do not regenerate the env.
This can be tested 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.
As ENV_FILE is set based on configuration, regenerate anytime autoconf.h changes.
Signed-off-by: Andrew Davis afd@ti.com ---
Changes for v2: - Depend on autoconf.h as suggested by Simon
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 9be24c4ec61..dba3c145368 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)) include/generated/autoconf.h $(call cmd,envc)
# Write out the resulting environment, converted to a C string

On Fri, 15 Sept 2023 at 08:43, Andrew Davis afd@ti.com wrote:
If the source .env file changes to one that is also older than the generated env.txt file then the .env file is not regenerated. This means when switching board configs we do not regenerate the env.
This can be tested 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.
As ENV_FILE is set based on configuration, regenerate anytime autoconf.h changes.
Signed-off-by: Andrew Davis afd@ti.com
Changes for v2:
- Depend on autoconf.h as suggested by Simon
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org

On Fri, Sep 15, 2023 at 09:43:23AM -0500, Andrew Davis wrote:
If the source .env file changes to one that is also older than the generated env.txt file then the .env file is not regenerated. This means when switching board configs we do not regenerate the env.
This can be tested 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.
As ENV_FILE is set based on configuration, regenerate anytime autoconf.h changes.
Signed-off-by: Andrew Davis afd@ti.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
participants (3)
-
Andrew Davis
-
Simon Glass
-
Tom Rini