Message ID | 20190712055935.23061-1-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | [for-4.1] Makefile: Fix "make install" when "make all" needs work | expand |
On Fri, Jul 12, 2019 at 07:59:35AM +0200, Markus Armbruster wrote: > Until recently, target install used to recurse into target directories > in its recipe: it ran make install in a for-loop. Since target > install depends on target all, this trivially ensured we run the > sub-make install only after completing target all. > > Commit 1338a4b "Makefile: Reuse all's recursion machinery for clean > and install" moved the target recursion to dependencies. That's good > (the commit message explains why), but I forgot to add dependencies to > ensure make runs the sub-make install only after completing target > all. Do that now. > > Fixes: 1338a4b72659ce08eacb9de0205fe16202a22d9c > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Reported-by: Guenter Roeck <linux@roeck-us.net> > Tested-by: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > Makefile | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
On Fri, Jul 12, 2019 at 07:59:35AM +0200, Markus Armbruster wrote: > Until recently, target install used to recurse into target directories > in its recipe: it ran make install in a for-loop. Since target > install depends on target all, this trivially ensured we run the > sub-make install only after completing target all. > > Commit 1338a4b "Makefile: Reuse all's recursion machinery for clean > and install" moved the target recursion to dependencies. That's good > (the commit message explains why), but I forgot to add dependencies to > ensure make runs the sub-make install only after completing target > all. Do that now. > > Fixes: 1338a4b72659ce08eacb9de0205fe16202a22d9c > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Reported-by: Guenter Roeck <linux@roeck-us.net> > Tested-by: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Makefile b/Makefile > index 1fcbaed62c..09b77e8a7b 100644 > --- a/Makefile > +++ b/Makefile > @@ -522,6 +522,7 @@ $(ROM_DIRS_RULES): > recurse-all: $(addsuffix /all, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-clean: $(addsuffix /clean, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-install: $(addsuffix /install, $(TARGET_DIRS)) > +$(addsuffix /install, $(TARGET_DIRS)): all > > $(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h > $(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"RC","version.o") Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
On 12/07/2019 06:59, Markus Armbruster wrote: > Until recently, target install used to recurse into target directories > in its recipe: it ran make install in a for-loop. Since target > install depends on target all, this trivially ensured we run the > sub-make install only after completing target all. > > Commit 1338a4b "Makefile: Reuse all's recursion machinery for clean > and install" moved the target recursion to dependencies. That's good > (the commit message explains why), but I forgot to add dependencies to > ensure make runs the sub-make install only after completing target > all. Do that now. > > Fixes: 1338a4b72659ce08eacb9de0205fe16202a22d9c > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Reported-by: Guenter Roeck <linux@roeck-us.net> > Tested-by: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Makefile b/Makefile > index 1fcbaed62c..09b77e8a7b 100644 > --- a/Makefile > +++ b/Makefile > @@ -522,6 +522,7 @@ $(ROM_DIRS_RULES): > recurse-all: $(addsuffix /all, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-clean: $(addsuffix /clean, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-install: $(addsuffix /install, $(TARGET_DIRS)) > +$(addsuffix /install, $(TARGET_DIRS)): all > > $(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h > $(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"RC","version.o") > I've just tried this on my faster workstation and it now works fine with all of -j2, -j4 and -j8. Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
diff --git a/Makefile b/Makefile index 1fcbaed62c..09b77e8a7b 100644 --- a/Makefile +++ b/Makefile @@ -522,6 +522,7 @@ $(ROM_DIRS_RULES): recurse-all: $(addsuffix /all, $(TARGET_DIRS) $(ROM_DIRS)) recurse-clean: $(addsuffix /clean, $(TARGET_DIRS) $(ROM_DIRS)) recurse-install: $(addsuffix /install, $(TARGET_DIRS)) +$(addsuffix /install, $(TARGET_DIRS)): all $(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h $(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"RC","version.o")