#! /bin/sh | |
# Construct a target device config file from a default, pulling in any | |
# files from include directives. | |
dest=$1 | |
dep=`dirname $1`-`basename $1`.d | |
src=$2 | |
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 > $dest | |
cat $src $all_includes | grep -v '^include' > $dest | |
echo "$1: $all_includes" > $dep |