| #! /bin/sh |
| # Construct a target device config file from a default, pulling in any |
| # files from include directives. |
| |
| dest=$1.tmp |
| 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 |