]>
Commit | Line | Data |
---|---|---|
bd9141bb | 1 | #! /bin/sh |
15564d85 PB |
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 | |
bd9141bb | 6 | |
15564d85 PB |
7 | src=$1 |
8 | dep=$2 | |
9 | target=$3 | |
bbd90802 | 10 | src_dir=$(dirname $src) |
bd9141bb PB |
11 | all_includes= |
12 | ||
13 | process_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 | ||
21 | f=$src | |
22 | while [ -n "$f" ] ; do | |
bbd90802 | 23 | f=$(cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $2}') |
cf66924f | 24 | [ $? = 0 ] || exit 1 |
bd9141bb PB |
25 | all_includes="$all_includes $f" |
26 | done | |
15564d85 | 27 | process_includes $src |
bd9141bb | 28 | |
15564d85 PB |
29 | cat $src $all_includes | grep -v '^include' |
30 | echo "$target: $all_includes" > $dep |