Message ID | 1257366009-7057-1-git-send-email-drow@false.org |
---|---|
State | New |
Headers | show |
Daniel Jacobowitz schrieb: > From: Daniel Jacobowitz <dan@codesourcery.com> > > With enough parallelism, make will run all the dependencies of > build-all at the same time: > > build-all: config-host.h config-all-devices.h $(DOCS) $(TOOLS) > > So some of the $(TOOLS) will build before config-host.h is finished. > The object files need to depend on it explicitly. Subdirectories are > OK since they are started from the body of build-all, not its > dependencies. > > Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> > --- > Makefile | 2 ++ > rules.mak | 2 +- > 2 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/Makefile b/Makefile > index c783aa4..ed9a420 100644 > --- a/Makefile > +++ b/Makefile > @@ -1,5 +1,7 @@ > # Makefile for QEMU. > > +GENERATED_HEADERS = config-host.h config-all-devices.h > + > ifneq ($(wildcard config-host.mak),) > # Put the all: rule here so that config-host.mak can contain dependencies. > all: build-all > diff --git a/rules.mak b/rules.mak > index 5d7e8bb..4eb1f90 100644 > --- a/rules.mak > +++ b/rules.mak > @@ -13,7 +13,7 @@ MAKEFLAGS += -rR > > QEMU_CFLAGS += -MMD -MP -MT $@ > > -%.o: %.c > +%.o: %.c $(GENERATED_HEADERS) > $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@") > > %.o: %.S > Maybe a mix of your patch and my patch (http://patchwork.ozlabs.org/patch/37446/) would be the best fix for this problem. It should also be possible to apply both patches. Regards Stefan
On Wed, Nov 04, 2009 at 09:48:22PM +0100, Stefan Weil wrote: > Maybe a mix of your patch and my patch > (http://patchwork.ozlabs.org/patch/37446/) > would be the best fix for this problem. > > It should also be possible to apply both patches. Thanks, I didn't find your patch. I don't have any preference which is applied, although I'm always in favor of eliminating unnecessary recursive invocations.
diff --git a/Makefile b/Makefile index c783aa4..ed9a420 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ # Makefile for QEMU. +GENERATED_HEADERS = config-host.h config-all-devices.h + ifneq ($(wildcard config-host.mak),) # Put the all: rule here so that config-host.mak can contain dependencies. all: build-all diff --git a/rules.mak b/rules.mak index 5d7e8bb..4eb1f90 100644 --- a/rules.mak +++ b/rules.mak @@ -13,7 +13,7 @@ MAKEFLAGS += -rR QEMU_CFLAGS += -MMD -MP -MT $@ -%.o: %.c +%.o: %.c $(GENERATED_HEADERS) $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@") %.o: %.S