[Pdbg] [PATCH] Makefile.am: Fix dependencies for specific .dtb.o files
Cyril Bur
cyrilbur at gmail.com
Mon Dec 11 14:04:48 AEDT 2017
On Mon, 2017-12-11 at 11:19 +1030, Joel Stanley wrote:
> On Mon, Dec 11, 2017 at 11:09 AM, Cyril Bur <cyrilbur at gmail.com> wrote:
> > The dtb.o files should really only depend on the .dtb files which is
> > already covered by the `%.dtb.o: %.dtb` rule. So remove the specific
> > p9{w,r,z}-fsi.dtb.o rules.
> >
> > .dtb files which need an include file should depend depend on those and
> > their source file. The `%.dtb: %.dts` does not cover this, so
> > p9w-fsi.dtb, p9r-fsi.dtb and p9z-fsi.dtb should have an added
> > dependency currently not listed. Add those targets and dependencies,
> > also mark them as .INTERMEDIATE just like the %.dtb implicitly is.
> >
> > This patch fixes parallel build failure:
> > (CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/cyrilb/r/pdbg/review/missing autoheader)
> > rm -f stamp-h1
> > touch config.h.in
> > cd . && /bin/sh ./config.status config.h
> > config.status: creating config.h
> > config.status: config.h is unchanged
> > make --no-print-directory all-am
> > DTC fake.dtb
> > M4 p8-fsi.dts
> > M4 p8-i2c.dts
> > M4 p8-host.dts
> > M4 p9-fsi.dtsi
> > DTC p9w-fsi.dtb
> > Error: p9w-fsi.dts:8.1-6 Label or path fsi0 not found
> > FATAL ERROR: Syntax error parsing input tree
> > DTC p9z-fsi.dtb
> > make[1]: *** [Makefile:1281: p9w-fsi.dtb] Error 1
> > make[1]: *** Waiting for unfinished jobs....
> > DTC p9r-fsi.dtb
> > rm p9w-fsi.dtb p9r-fsi.dtb p8-host.dts p9z-fsi.dtb p8-i2c.dts fake.dtb p8-fsi.dts
> > make: *** [Makefile:442: all] Error 2
> >
> > Which can be caused by invoking make with `-j 8` from a fresh checkout.
> >
> > Signed-off-by: Cyril Bur <cyrilbur at gmail.com>
> > ---
> > Makefile.am | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/Makefile.am b/Makefile.am
> > index 38a66c4..b817893 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -66,9 +66,10 @@ DTC_V_0 = @echo " DTC " $@;
> > %.dtsi: %.dtsi.m4
> > $(M4_V)m4 -I$(dir $<) $< > $@
> >
> > -p9w-fsi.dtb.o: p9w-fsi.dts p9-fsi.dtsi
> > -p9r-fsi.dtb.o: p9r-fsi.dts p9-fsi.dtsi
> > -p9z-fsi.dtb.o: p9z-fsi.dts p9-fsi.dtsi
> > +.INTERMEDIATE: p9w-fsi.dtb p9r-fsi.dtb p9z-fsi.dtb
> > +p9w-fsi.dtb: p9-fsi.dtsi
> > +p9r-fsi.dtb: p9-fsi.dtsi
> > +p9z-fsi.dtb: p9-fsi.dtsi
>
> Nak. The dtb is built from the dts, so the rule should be dtb: dts.
> There's an additional dependency on the dtsi, so we make sure that is
> listed too.
>
The wisdom from SFR is that if a recipie only has dependencies, it simply
adds dependency, so the %.dtb rule will add the .dts as dependency. I'm the
first to admit I don't know make nearly well enough to be sure, but I'm
also happy to defer to sfr on almost anything.
Cyril
> Think of it like a C file:
>
> foo.o: foo.c foo.h
>
> Please take this patch instead:
>
> https://lists.ozlabs.org/pipermail/pdbg/2017-December/000000.html
>
> Cheers,
>
> Joel
>
> >
> > %.dtb: %.dts
> > $(DTC_V)dtc -q -i$(dir $@) -I dts $< -O dtb > $@
> > --
> > 2.15.1
> >
> > --
> > Pdbg mailing list
> > Pdbg at lists.ozlabs.org
> > https://lists.ozlabs.org/listinfo/pdbg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/pdbg/attachments/20171211/2ab77acc/attachment-0001.html>
More information about the Pdbg
mailing list