fix parallel build
authorJuan Quintela <quintela@redhat.com>
Thu, 5 Nov 2009 16:19:57 +0000 (17:19 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 12 Nov 2009 17:23:54 +0000 (11:23 -0600)
Based on a ideas of Daniel Jacobowitz + Stefan Weil

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Makefile
Makefile.target
rules.mak

index dbbff3e..7be0a15 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,8 @@
 # Makefile for QEMU.
 
+# This needs to be defined before rules.mak
+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
@@ -40,8 +43,7 @@ config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
 
 -include config-all-devices.mak
 
-build-all: config-host.h config-all-devices.h $(DOCS) $(TOOLS)
-       $(call quiet-command, $(MAKE) $(SUBDIR_MAKEFLAGS) recurse-all,)
+build-all: $(DOCS) $(TOOLS) recurse-all
 
 config-host.h: config-host.h-timestamp
 config-host.h-timestamp: config-host.mak
@@ -51,7 +53,7 @@ config-all-devices.h-timestamp: config-all-devices.mak
 
 SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
 
-subdir-%: config-host.h config-all-devices.h
+subdir-%: $(GENERATED_HEADERS)
        $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,)
 
 $(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
index bc3c375..7068dc5 100644 (file)
@@ -1,5 +1,8 @@
 # -*- Mode: makefile -*-
 
+# This needs to be defined before rules.mak
+GENERATED_HEADERS = config-target.h config-devices.h
+
 include ../config-host.mak
 include config-devices.mak
 include config-target.mak
@@ -33,8 +36,7 @@ config-target.h-timestamp: config-target.mak
 config-devices.h: config-devices.h-timestamp
 config-devices.h-timestamp: config-devices.mak
 
-all: config-target.h config-devices.h
-       $(call quiet-command, $(MAKE) $(PROGS),)
+all: $(PROGS)
 
 # Dummy command so that make thinks it has done something
        @true
index 5d7e8bb..4eb1f90 100644 (file)
--- 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