diff options
Diffstat (limited to 'build-0.3/c/gnu/dep')
| -rwxr-xr-x | build-0.3/c/gnu/dep | 57 | 
1 files changed, 57 insertions, 0 deletions
| diff --git a/build-0.3/c/gnu/dep b/build-0.3/c/gnu/dep new file mode 100755 index 0000000..ecafcb1 --- /dev/null +++ b/build-0.3/c/gnu/dep @@ -0,0 +1,57 @@ +#! /usr/bin/env bash + +# file      : build/c/gnu/dep +# copyright : Copyright (c) 2004-2012 Code Synthesis Tools CC +# license   : GNU GPL v2; see accompanying LICENSE file + +# Post-process generated dependency information. +# +# $1       current project's $(out_base) +# $2 - $N  optional .cpp-options files + +out_base=$1 +shift + +files=$* + +#echo $out_base +#echo $files + +script= + +function gen_script () +{ +  while [ "$1" ]; do +    prefix=$1 +    shift + +    path=$1 +    shift + +    # Besides unresolved paths also replace default installation +    # targets (/usr/include and /usr/local/include). +    # +    script="$script"\ +"s \\ $prefix \\ $path$prefix g;"\ +"s \\ /usr/include/$prefix \\ $path$prefix g;"\ +"s \\ /usr/local/include/$prefix \\ $path$prefix g;"\ +"s ^$prefix $path$prefix ;"\ +"s ^/usr/include/$prefix $path$prefix ;"\ +"s ^/usr/local/include/$prefix $path$prefix ;" +  done +} + +if [ "$files" ]; then +  prefixes=`sed -e 's%^prefix: \(.*\)$%\1%' -e t -e d $files` +  gen_script $prefixes +fi + +# The last part of the script translates all file names that don't start +# with / or . (that is, local generated files) to files in $out_base. Note +# that it is assumed that such files are never installed and therefore there +# is no way to get around the situation where this file is picket up from +# some other place (e.g., /usr/include). +# +epilogue="s% \([^/. \\\\]\)% $out_base/\1%g;s%^\([^/. ].*:\)%$out_base/\1%" + +exec sed -e "$script$epilogue" | 
