[PATCH] Makefile: Force regeneration of env.txt

Simon Glass sjg at chromium.org
Mon Sep 11 00:36:53 CEST 2023


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?

> >
> >   # Write out the resulting environment, converted to a C string

Regards,
Simon


More information about the U-Boot mailing list