diff options
author | Paul Brook <paul@codesourcery.com> | 2010-11-26 18:47:45 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2010-11-26 18:47:45 +0000 |
commit | bd9141bb2e53195e3c1abf29275365d7f554beb5 (patch) | |
tree | bd58ce6d38d04e2cea21de3410124f7535510589 /make_device_config.sh | |
parent | 6e14404aab26f74a448747d1e793ac16bde8a92b (diff) |
Include directives in default configs
Allow default configs to be split into several files.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'make_device_config.sh')
-rw-r--r-- | make_device_config.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/make_device_config.sh b/make_device_config.sh new file mode 100644 index 0000000000..59f267b5ef --- /dev/null +++ b/make_device_config.sh @@ -0,0 +1,27 @@ +#! /bin/sh +# Construct a target device config file from a default, pulling in any +# files from include directives. + +dest=$1.tmp +dep=$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=`awk '/^include / {print "'$src_dir'/" $2}' $f` + all_includes="$all_includes $f" +done +process_includes $src > $dest + +cat $src $all_includes | grep -v '^include' > $dest +echo "$1: $all_includes" > $dep |