make_device_config: Fix non-fatal error message with dash and other shells
[qemu/agraf.git] / make_device_config.sh
blob5d14885dfc21f1ac2d285dc36d12a903e9a33ce0
1 #! /bin/sh
2 # Construct a target device config file from a default, pulling in any
3 # files from include directives.
5 dest=$1.tmp
6 dep=$1.d
7 src=$2
8 src_dir=`dirname $src`
9 all_includes=
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
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
27 cat $src $all_includes | grep -v '^include' > $dest
28 echo "$1: $all_includes" > $dep