Merge remote-tracking branch 'awilliam/tags/qemu-1.4-vfio-20130109.0' into staging
[sdk/emulator/qemu.git] / scripts / make_device_config.sh
1 #! /bin/sh
2 # Construct a target device config file from a default, pulling in any
3 # files from include directives.
4
5 dest=$1.tmp
6 dep=$1.d
7 src=$2
8 src_dir=`dirname $src`
9 all_includes=
10
11 process_includes () {
12   cat $1 | grep '^include' | \
13   while read include file ; do
14     all_includes="$all_includes $src_dir/$file"
15     process_includes $src_dir/$file
16   done
17 }
18
19 f=$src
20 while [ -n "$f" ] ; do
21   f=`tr -d '\r' < $f | awk '/^include / {printf "'$src_dir'/%s", $2}'`
22   [ $? = 0 ] || exit 1
23   all_includes="$all_includes $f"
24 done
25 process_includes $src > $dest
26
27 cat $src $all_includes | grep -v '^include' > $dest
28 echo "$1: $all_includes" > $dep