diff options
author | Juan Quintela <quintela@redhat.com> | 2009-11-05 17:19:57 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-11-12 11:23:54 -0600 |
commit | f527c57935e22b56952d1ed1af36070b682ecf70 (patch) | |
tree | 70f98a9294db58bb7839a1e1af021a5536941048 | |
parent | 593831de5dce5f5b9ce1226e0d8353eecb1176e4 (diff) |
fix parallel build
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>
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | Makefile.target | 6 | ||||
-rw-r--r-- | rules.mak | 2 |
3 files changed, 10 insertions, 6 deletions
@@ -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 diff --git a/Makefile.target b/Makefile.target index bc3c375c39..7068dc5e08 100644 --- a/Makefile.target +++ b/Makefile.target @@ -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 @@ -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 |