On Mon, 6 Nov 2017 11:41:34 +0000 "Daniel P. Berrange" <[email protected]> wrote:
> The Makefile attempts to optimize the handling of submodules by using > MAKELEVEL > to only check the submodule status when running from the top level make > invokation. This causes problems for people who are using a makefile of their > own to in turn invoke QEMU's makefile, as MAKELEVEL is already set to 1 (or > more) when QEMU's makefile runs. > > This optimization should not really be needed, since the git-submodule.sh > script is already used to detect if a submodule update is required. This by > removing the MAKELEVEL check, we at most add an extra 'git-submodule.sh > status' > call to each make level, the overhead of which is lost in noise of building > QEMU. > > Signed-off-by: Daniel P. Berrange <[email protected]> > --- > Heh, I had come up with a similar patch based on master and nearly the same commit message. :) Reviewed-by: Greg Kurz <[email protected]> > NB this is on top of > https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg00449.html > I could check that this patch applied on top of the series mentioned above fixes the issue for me. Tested-by: Greg Kurz <[email protected]> > Makefile | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/Makefile b/Makefile > index a92d7b8e14..0496c5057a 100644 > --- a/Makefile > +++ b/Makefile > @@ -18,12 +18,11 @@ git-submodule-update: > > .PHONY: git-submodule-update > > -ifeq (0,$(MAKELEVEL)) > - git_module_status := $(shell \ > - cd '$(SRC_PATH)' && \ > - GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \ > - echo $$?; \ > - ) > +git_module_status := $(shell \ > + cd '$(SRC_PATH)' && \ > + GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \ > + echo $$?; \ > +) > > ifeq (1,$(git_module_status)) > ifeq (no,$(GIT_UPDATE)) > @@ -42,7 +41,6 @@ git-submodule-update: > "GIT","$(GIT_SUBMODULES)") > endif > endif > -endif > > .git-submodule-status: git-submodule-update config-host.mak >
