On 24-01-16, Ahmad Fatoum wrote: > Hello Sascha, > > On 16.01.24 10:10, Sascha Hauer wrote: > > A pbl is not rebuilt when the firmware file specified in fw-external-y > > changes. > > > > $(patsubst %.gen.o,$(obj)/%.extgen.pbl.o, $(pbl-y)) is executed before > > pbl-y actually contains the contents of fw-external-y. Also we want to > > do the subsitution only for the external firmware files, not for pbl-y. > > > > To fix this use a intermediate variable pbl-fwext-y instead of pbl-y and > > initialize it before usage. > > > > Also, use $$(wildcard $(fwdir)/%) instead of $(fwdir)/% to successfully > > compile when the external firmware file is missing. > > > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > Thanks for fixing! +1 :) > Reviewed-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > > Cheers, > Ahmad > > > > > --- > > firmware/Makefile | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/firmware/Makefile b/firmware/Makefile > > index 4c68817fc6..27504e9442 100644 > > --- a/firmware/Makefile > > +++ b/firmware/Makefile > > @@ -42,6 +42,7 @@ fwobjdir := $(objtree)/firmware > > > > pbl-y := $(addsuffix .gen.o, $(pbl-firmware-y)) > > obj-pbl-y := $(addsuffix .gen.o, $(firmware-y)) > > +pbl-fwext-y := $(addsuffix .extgen.o, $(fw-external-y)) > > > > FWNAME = $(patsubst $(obj)/%.extgen.S,%,$(patsubst $(obj)/%.gen.S,%,$@)) > > FWSTR = $(subst /,_,$(subst .,_,$(subst -,_,$(FWNAME)))) > > @@ -104,9 +105,9 @@ $(patsubst %.gen.o,$(obj)/%.gen.o, $(obj-pbl-y)): $(obj)/%.gen.o: $(fwdir)/% > > # The same for pbl: > > .SECONDEXPANSION: > > $(patsubst %.gen.o,$(obj)/%.gen.pbl.o, $(obj-pbl-y) $(pbl-y)): $(obj)/%.gen.pbl.o: $$(wildcard $(fwdir)/%) > > -$(patsubst %.gen.o,$(obj)/%.extgen.pbl.o, $(pbl-y)): $(obj)/%.extgen.pbl.o: $(fwdir)/% > > +$(patsubst %.extgen.o,$(obj)/%.extgen.pbl.o, $(pbl-fwext-y)): $(obj)/%.extgen.pbl.o: $$(wildcard $(fwdir)/%) > > > > -pbl-y += $(addsuffix .extgen.o, $(fw-external-y)) > > +pbl-y += $(pbl-fwext-y) > > > > targets := $(patsubst $(obj)/%,%, \ > > $(shell find $(obj) -name \*.gen.S 2>/dev/null)) > > -- > Pengutronix e.K. | | > Steuerwalder Str. 21 | http://www.pengutronix.de/ | > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > >