On Tue, Dec 21, 2021 at 03:16:25PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > When doing an out-of-tree build, and thus setting VPATH,
> > GNU Make 3.81 on Ubuntu Trusty complains about Circular dependency of
> > include/Makefile and include/xlat.lst and drop them. The build fails
> > later due to headers malformed.
> 
> A circular dependency would mean that besides the expected dependency
> there is also one of include/Makefile on include/xlat.lst. Where is
> that? I'm not aware of anything include/Makefile depends on. Is there
> any dependency being introduced in this series, perhaps by way of new
> (generated) dependency files? It would be good to have a clear
> understanding of the issue - as you describe it, it could as well be
> a make flaw.

I've got a bunch of:
make[2]: Circular include/compat/arch-x86_32.i <- include/Makefile dependency 
dropped.


Maybe the issue is with:
    make[2]: Circular include/compat/.xlat/arch-x86/pmu.lst <- include/xlat.lst 
dependency dropped.
    make[2]: Circular include/compat/.xlat/arch-x86/pmu.lst <- include/Makefile 
dependency dropped.

with rule
     $(obj)/compat/.xlat/%.lst:  $(src)/xlat.lst $(src)/Makefile

at that mean %.lst have no prerequisite left, so $< is empty in
"grep pattern $<" so there's nothing to grep.

But that doesn't happen every time.

I can't think of anything or find anything which would introduce a
prerequisite for "xlat.lst".

The build seems to work if I only change this rule, to avoid make
looking into VPATH to find $(src)/xlat.lst. Changing this to
"$(srcdir)/xlat.lst" works. But of course, make still complain about
circular dependencies on include/Makefile.

I think I've look for this issue online at the time, but I probably
found the workaround rather than a bug report.

Cheers,

-- 
Anthony PERARD

Reply via email to