1#! /bin/sh 2# Writes a target device config file to stdout, from a default and from 3# include directives therein. Also emits Makefile dependencies. 4# 5# Usage: make_device_config.sh SRC DEPFILE-NAME DEPFILE-TARGET > DEST 6 7src=$1 8dep=$2 9target=$3 10src_dir=`dirname $src` 11all_includes= 12 13process_includes () { 14 cat $1 | grep '^include' | \ 15 while read include file ; do 16 all_includes="$all_includes $src_dir/$file" 17 process_includes $src_dir/$file 18 done 19} 20 21f=$src 22while [ -n "$f" ] ; do 23 f=`cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $2}'` 24 [ $? = 0 ] || exit 1 25 all_includes="$all_includes $f" 26done 27process_includes $src 28 29cat $src $all_includes | grep -v '^include' 30echo "$target: $all_includes" > $dep 31