summaryrefslogtreecommitdiff
path: root/source3/script
diff options
context:
space:
mode:
Diffstat (limited to 'source3/script')
-rw-r--r--source3/script/mkproto.awk8
-rwxr-xr-xsource3/script/mkproto.sh41
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