Remove lib/netapi autoconf build system, this is now build with waf
[obnox/samba/samba-obnox.git] / source3 / script / build_idl.sh
index 0f4908114edba03311050e72f4b5f0247d812ff7..97e813ece0935ad2c63c5330b2f31a4f5c2f2c1f 100755 (executable)
@@ -1,6 +1,13 @@
 #!/bin/sh
 
-ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client $PIDL_ARGS --"
+if [ "$1" = "--full" ]; then
+       FULL=1
+       shift 1
+else
+       FULL=0
+fi
+
+ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header --ndr-parser --client --samba3-ndr-server $PIDL_ARGS --"
 IDL_FILES="$*"
 
 oldpwd=`pwd`
@@ -10,22 +17,32 @@ cd ${srcdir}
 
 PIDL="$PIDL $ARGS"
 
+if [ $FULL = 1 ]; then
+       echo "Rebuilding all idl files"
+       $PIDL $IDL_FILES || exit 1
+       exit 0
+fi
+
 ##
 ## Find newer files rather than rebuild all of them
 ##
 
 list=""
 for f in ${IDL_FILES}; do
-       basename=`basename $f .idl`
-       ndr="$PIDL_OUTPUTDIR/ndr_$basename.c"
-
-       if [ -f $ndr ]; then
-               if [ "x`find $f -newer $ndr -print`" = "x$f" ]; then
-                       list="$list $f"
-               fi
-       else 
+        b=`basename $f .idl`
+       outfiles="$b.h ndr_$b.h srv_$b.c"
+       outfiles="$outfiles ndr_$b.c srv_$b.h"
+
+       for o in $outfiles; do
+           [ -f $PIDL_OUTPUTDIR/$o ] || {
+               list="$list $f"
+               break
+           }
+           test "`find $f -newer $PIDL_OUTPUTDIR/$o`" != "" && {
                list="$list $f"
-       fi
+               break
+           }
+       done
 done
 
 ##