Message ID | 1347975403-30332-1-git-send-email-mark.asselstine@windriver.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> commit 6c7080a61fc7 [firmware: fix directory creation rule matching > with make 3.82] broke builds with make 3.80. This is caused by the > literal substitution behaving differently with this version of > make. The following works with make 3.82, 3.81 and 3.80. > > Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> > --- > > Jan I was able to reproduce your error and this change fixes it, can > you try this out? I would prefer to keep things working with the > latest versions of make. I am still looking into any possible > consequences of removing the double dollar sign. > > scripts/Makefile.fwinst | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst > index c3f69ae..e264fab 100644 > --- a/scripts/Makefile.fwinst > +++ b/scripts/Makefile.fwinst > @@ -42,7 +42,7 @@ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) > $(installed-fw-dirs): > $(call cmd,mkdir) > > -$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $$(dir $(INSTALL_FW_PATH)/%) > +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(dir $(INSTALL_FW_PATH)/%) Actually I believe this should be +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(dir $(INSTALL_FW_PATH)/$$(%)) I have added David Woodhouse to the TO list as he has made similar changes in the past and I would like to get his input on this as I haven't been able to figure out the double dollar sign use here. Regards, Mark > $(call cmd,install) > > PHONY += __fw_install __fw_modinst FORCE > -- > 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> On 18.09.12 at 18:09, Mark Asselstine <mark.asselstine@windriver.com> wrote: >> commit 6c7080a61fc7 [firmware: fix directory creation rule matching >> with make 3.82] broke builds with make 3.80. This is caused by the >> literal substitution behaving differently with this version of >> make. The following works with make 3.82, 3.81 and 3.80. >> >> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> >> --- >> >> Jan I was able to reproduce your error and this change fixes it, can >> you try this out? I would prefer to keep things working with the >> latest versions of make. I am still looking into any possible >> consequences of removing the double dollar sign. >> >> scripts/Makefile.fwinst | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst >> index c3f69ae..e264fab 100644 >> --- a/scripts/Makefile.fwinst >> +++ b/scripts/Makefile.fwinst >> @@ -42,7 +42,7 @@ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) >> $(installed-fw-dirs): >> $(call cmd,mkdir) >> >> -$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $$(dir $(INSTALL_FW_PATH)/%) >> +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(dir $(INSTALL_FW_PATH)/%) This would clearly break the .SECONDEXPANSION expectations (or otherwise the double-$ wouldn't have been needed in the first place). > Actually I believe this should be > +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(dir $(INSTALL_FW_PATH)/$$(%)) This one can't be right either, for the same reason. The main thing, afaict, is that your initial patch disconnected the rule here from the PHONY addition (and the corresponding fallback rule) a few lines up. And I can't see how to restore the connection reliably (the fact that $(dir) was reported as missing dependency suggests that using this for the PHONY addition and fallback line instead might be possible, but it would need to be clarified where the $(INSTALL_FW_PATH)/% (i.e. the argument to $(dir )) went, and hence whether $(dir) wouldn't, e.g. for a non-empty $(INSTALL_FW_PATH), expand to something else. Jan -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst index c3f69ae..e264fab 100644 --- a/scripts/Makefile.fwinst +++ b/scripts/Makefile.fwinst @@ -42,7 +42,7 @@ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) $(installed-fw-dirs): $(call cmd,mkdir) -$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $$(dir $(INSTALL_FW_PATH)/%) +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(dir $(INSTALL_FW_PATH)/%) $(call cmd,install) PHONY += __fw_install __fw_modinst FORCE
commit 6c7080a61fc7 [firmware: fix directory creation rule matching with make 3.82] broke builds with make 3.80. This is caused by the literal substitution behaving differently with this version of make. The following works with make 3.82, 3.81 and 3.80. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- Jan I was able to reproduce your error and this change fixes it, can you try this out? I would prefer to keep things working with the latest versions of make. I am still looking into any possible consequences of removing the double dollar sign. scripts/Makefile.fwinst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)