diff options
Diffstat (limited to 'source3/script/mkproto.sh.in')
-rwxr-xr-x | source3/script/mkproto.sh.in | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/source3/script/mkproto.sh.in b/source3/script/mkproto.sh.in new file mode 100755 index 0000000000..8d7d300ff5 --- /dev/null +++ b/source3/script/mkproto.sh.in @@ -0,0 +1,47 @@ +#! /bin/sh -x + +LANG=C; export LANG +LC_ALL=C; export LC_ALL +LC_COLLATE=C; export LC_COLLATE + +# Need reference point for "mkproto.awk", including when "srcdir != builddir". +# Use of "abs_..." is unpleasant. Is there another way? +abs_srcdir=@abs_srcdir@ + +if [ $# -lt 3 ] +then + echo "Usage: $0 awk [-h headerdefine] outputheader proto_obj" + exit 1 +fi + +awk="$1" +shift + +if [ x"$1" = x-h ] +then + headeropt="-v headername=$2" + shift; shift; +else + headeropt="" +fi + +header="$1" +shift +headertmp="$header.$$.tmp~" + +proto_src="`echo $@ | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort | uniq | egrep -v 'ubiqx/|wrapped'`" + +echo creating $header + +mkdir -p `dirname $header` + +${awk} $headeropt \ + -f $abs_srcdir/mkproto.awk $proto_src > $headertmp + +if cmp -s $header $headertmp 2>/dev/null +then + echo "$header unchanged" + rm $headertmp +else + mv $headertmp $header +fi |