
On 9/10/23 5:36 PM, Simon Glass wrote:
Hi Andrew,
On Tue, 5 Sept 2023 at 12:15, Andrew Davis afd@ti.com wrote:
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@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)
I thought that FORCE was only for if_changed - see makefiles.rst.txt
Could it depend on autoconf.h instead?
That works, sending v2, thanks!
Andrew
# Write out the resulting environment, converted to a C string
Regards, Simon