aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2009-11-22 16:25:30 +0000
committerPaul Brook <paul@codesourcery.com>2009-11-22 21:24:54 +0000
commita992fe3d0fc185112677286f7a02204d8245b61e (patch)
treec3cc533d4bb8e1ed5dfebba895bdd4bdb31e67d4 /Makefile
parent60c9af07aa1239fa7281326b691501378c9e53d1 (diff)
Makefile dependencies for device configs
Add makefile dependencies for target specific device configs. These will copy the default config if none exists, obsoleting the old configure time code. If a config already exists but is older than the default then print a warning. Also remove config-devices.h. Code does not and should not care which devices are being built. Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile20
1 files changed, 15 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index d770e2a674..e9b09ca825 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
# Makefile for QEMU.
# This needs to be defined before rules.mak
-GENERATED_HEADERS = config-host.h config-all-devices.h
+GENERATED_HEADERS = config-host.h
ifneq ($(wildcard config-host.mak),)
# Put the all: rule here so that config-host.mak can contain dependencies.
@@ -41,6 +41,19 @@ SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
$(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep "=y$$" | sort -u > $@," GEN $@")
+%/config-devices.mak: default-configs/%.mak
+ $(call quiet-command,cat $< > $@.tmp, " GEN $@")
+ @if test -f $@ ; then \
+ echo "WARNING: $@ out of date." ;\
+ echo "Run \"make defconfing\" to regenerate." ; \
+ rm $@.tmp ; \
+ else \
+ mv $@.tmp $@ ; \
+ fi
+
+defconfig:
+ rm -f config-all-devices.mak $(SUBDIR_DEVICES_MAK)
+
-include config-all-devices.mak
build-all: $(DOCS) $(TOOLS) recurse-all
@@ -48,9 +61,6 @@ build-all: $(DOCS) $(TOOLS) recurse-all
config-host.h: config-host.h-timestamp
config-host.h-timestamp: config-host.mak
-config-all-devices.h: config-all-devices.h-timestamp
-config-all-devices.h-timestamp: config-all-devices.mak
-
SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
subdir-%: $(GENERATED_HEADERS)
@@ -246,7 +256,7 @@ clean:
distclean: clean
rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi
- rm -f config-all-devices.mak config-all-devices.h*
+ rm -f config-all-devices.mak
rm -f roms/seabios/config.mak roms/vgabios/config.mak
rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pg,toc,tp,vr}
for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \