diff options
Diffstat (limited to 'source3/script')
-rw-r--r-- | source3/script/mkproto.awk | 8 | ||||
-rwxr-xr-x | source3/script/mkproto.sh | 41 |
2 files changed, 47 insertions, 2 deletions
diff --git a/source3/script/mkproto.awk b/source3/script/mkproto.awk index 7ae89b7467..6e74b0d85f 100644 --- a/source3/script/mkproto.awk +++ b/source3/script/mkproto.awk @@ -2,8 +2,12 @@ BEGIN { inheader=0; # use_ldap_define = 0; current_file=""; - print "#ifndef _PROTO_H_" - print "#define _PROTO_H_" + if (headername=="") { + headername="_PROTO_H_"; + } + + print "#ifndef",headername + print "#define",headername print "/* This file is automatically generated with \"make proto\". DO NOT EDIT */" print "" } diff --git a/source3/script/mkproto.sh b/source3/script/mkproto.sh new file mode 100755 index 0000000000..4dbe4c204e --- /dev/null +++ b/source3/script/mkproto.sh @@ -0,0 +1,41 @@ +#! /bin/sh + +LANG=C; export LANG +LC_ALL=C; export LC_ALL +LC_COLLATE=C; export LC_COLLATE + +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 + +${awk} $headeropt \ + -f script/mkproto.awk $proto_src > $headertmp + +if cmp -s $header $headertmp 2>/dev/null +then + echo "$header unchanged" + rm $headertmp +else + mv $headertmp $header +fi |