[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix a parallel build failure.
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH] Fix a parallel build failure. |
Date: |
Wed, 04 Nov 2009 21:48:22 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20090707) |
Daniel Jacobowitz schrieb:
> From: Daniel Jacobowitz <address@hidden>
>
> 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 <address@hidden>
> ---
> 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