qemu/scripts/make_device_config.sh
Stefan Weil bbd908025c scripts: Use $(..) instead of deprecated ..
This fixes these warnings from shellcheck:

    ^-- SC2006: Use $(..) instead of deprecated `..`

Update also a comment using the same pattern.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2016-06-07 18:19:23 +03:00

31 lines
735 B
Bash

#! /bin/sh
# Writes a target device config file to stdout, from a default and from
# include directives therein. Also emits Makefile dependencies.
#
# Usage: make_device_config.sh SRC DEPFILE-NAME DEPFILE-TARGET > DEST
src=$1
dep=$2
target=$3
src_dir=$(dirname $src)
all_includes=
process_includes () {
cat $1 | grep '^include' | \
while read include file ; do
all_includes="$all_includes $src_dir/$file"
process_includes $src_dir/$file
done
}
f=$src
while [ -n "$f" ] ; do
f=$(cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $2}')
[ $? = 0 ] || exit 1
all_includes="$all_includes $f"
done
process_includes $src
cat $src $all_includes | grep -v '^include'
echo "$target: $all_includes" > $dep