X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=depend.sh;h=746b0d2b1c82914ef96ebbf2a724f03bb872573d;hp=aad45a3c8d4ff8f6882893683fd8763ac4970c9f;hb=6bcd10bc4ada11a04bc2b7425afe5a8855592cd2;hpb=b0fe6d882dd35b01360a66e130d6714aff7b6a0d diff --git a/depend.sh b/depend.sh index aad45a3c..746b0d2b 100755 --- a/depend.sh +++ b/depend.sh @@ -4,19 +4,22 @@ # the given input file and parse the output to add a *.d target with the same # dependencies. -# The first two arguments to that script are special: $1 is the object -# directory. This string is prefixed to both the .o and the .d target. $2 is -# the directory that contains the *.cmdline.h files generated by gengetopt. +# The first three arguments to that script are special: $1 is the +# dependency directory and $2 is the object directory. These are used +# to prefix the .d and .o targets respectively. $3 is the directory +# that contains the *.cmdline.h files generated by gengetopt. -# As gcc outputs the dependencies on the *.cmdline.h files either as either -# foo.cmdline.h or as $cmdline_dir/foo,cmdline.h, depending on whether the +# As gcc outputs the dependencies on the *.cmdline.h files either as +# foo.cmdline.h or as $cmdline_dir/foo.cmdline.h, depending on whether the # latter file exists, we prefix the former with $2/ -object_dir="$1" -cmdline_dir="$2" +dep_dir="$1" +object_dir="$2" +cmdline_dir="$3" +shift shift shift LC_ALL=C gcc -MM -MG "$@" \ - | sed -e "s@^\(.*\)\.o:@$object_dir/\1.d $object_dir/\1.o:@" \ - -e "s@[ ^]\([a-zA-Z0-9_]\+\.cmdline.h\)@ $cmdline_dir/\1@g" + | sed -e "s@^\(.*\)\.o:@$dep_dir/\1.d $object_dir/\1.o:@" \ + -e "s@[ ^]\([a-zA-Z0-9_]\{1,\}\.cmdline.h\)@ $cmdline_dir/\1@g"