123456789101112131415161718192021222324252627282930 |
- #! /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
|