提交 a992fe3d 编写于 作者: P Paul Brook

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: NPaul Brook <paul@codesourcery.com>
上级 60c9af07
# 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 \
......
# -*- Mode: makefile -*-
# This needs to be defined before rules.mak
GENERATED_HEADERS = config-target.h config-devices.h
GENERATED_HEADERS = config-target.h
include ../config-host.mak
include config-devices.mak
......
#include "config-host.h"
#include "config-target.h"
/* We want to include different config files for specific targets
And for the common library. They need a different name because
we don't want to rely in paths */
#if defined(NEED_CPU_H)
#include "config-devices.h"
#else
#include "config-all-devices.h"
#endif
......@@ -2209,10 +2209,6 @@ if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$targ
mkdir -p $target_dir/nwfpe
fi
if test ! -f $target_dir/config-devices.mak ; then
cp $source_path/default-configs/${target}.mak $target_dir/config-devices.mak
fi
#
# don't use ln -sf as not all "ln -sf" over write the file/link
#
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册