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>
This commit is contained in:
parent
60c9af07aa
commit
a992fe3d0f
20
Makefile
20
Makefile
@ -1,7 +1,7 @@
|
|||||||
# Makefile for QEMU.
|
# Makefile for QEMU.
|
||||||
|
|
||||||
# This needs to be defined before rules.mak
|
# 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),)
|
ifneq ($(wildcard config-host.mak),)
|
||||||
# Put the all: rule here so that config-host.mak can contain dependencies.
|
# 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)
|
config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
|
||||||
$(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep "=y$$" | sort -u > $@," GEN $@")
|
$(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
|
-include config-all-devices.mak
|
||||||
|
|
||||||
build-all: $(DOCS) $(TOOLS) recurse-all
|
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: config-host.h-timestamp
|
||||||
config-host.h-timestamp: config-host.mak
|
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_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
|
||||||
|
|
||||||
subdir-%: $(GENERATED_HEADERS)
|
subdir-%: $(GENERATED_HEADERS)
|
||||||
@ -246,7 +256,7 @@ clean:
|
|||||||
|
|
||||||
distclean: 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-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 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}
|
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 \
|
for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- Mode: makefile -*-
|
# -*- Mode: makefile -*-
|
||||||
|
|
||||||
# This needs to be defined before rules.mak
|
# 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-host.mak
|
||||||
include config-devices.mak
|
include config-devices.mak
|
||||||
|
11
config.h
11
config.h
@ -1,13 +1,2 @@
|
|||||||
|
|
||||||
#include "config-host.h"
|
#include "config-host.h"
|
||||||
#include "config-target.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
|
|
||||||
|
4
configure
vendored
4
configure
vendored
@ -2209,10 +2209,6 @@ if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$targ
|
|||||||
mkdir -p $target_dir/nwfpe
|
mkdir -p $target_dir/nwfpe
|
||||||
fi
|
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
|
# don't use ln -sf as not all "ln -sf" over write the file/link
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user