[PATCH] Makefile: Force regeneration of env.txt

Andrew Davis afd at ti.com
Fri Sep 15 16:43:19 CEST 2023


On 9/10/23 5:36 PM, Simon Glass wrote:
> Hi Andrew,
> 
> On Tue, 5 Sept 2023 at 12:15, Andrew Davis <afd at 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 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)
> 
> 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


More information about the U-Boot mailing list