summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-15 21:25:03 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-15 21:25:03 +0000
commit6a991bb9b027e64e27f7a661b236b4ad70daeeda (patch)
tree53094c72835fea8d3019261248925fac48756336
parent5bd51a1d5d88459eca341d252f156fcf32bdc222 (diff)
downloadsamba-6a991bb9b027e64e27f7a661b236b4ad70daeeda.tar.gz
samba-6a991bb9b027e64e27f7a661b236b4ad70daeeda.tar.bz2
samba-6a991bb9b027e64e27f7a661b236b4ad70daeeda.zip
simple method for auto-building rpc files if idl changes, and
auto-building proto.h if it doesn't exist. This should make life a little easier for developers (This used to be commit ab5939e79600841c5e7e31e9da8742bf2da4a184)
-rw-r--r--source4/Makefile.in10
-rwxr-xr-xsource4/script/build_idl.sh10
2 files changed, 15 insertions, 5 deletions
diff --git a/source4/Makefile.in b/source4/Makefile.in
index fac7f41572..7dc7874ea2 100644
--- a/source4/Makefile.in
+++ b/source4/Makefile.in
@@ -642,7 +642,7 @@ NTLM_AUTH_OBJ = utils/ntlm_auth.o $(LIBNTLMSSP_OBJ) $(LIBSAMBA_OBJ) $(POPT_LIB_O
######################################################################
# now the rules...
######################################################################
-all: bin/smbd bin/smbclient bin/smbtorture bin/locktest bin/masktest bin/gentest
+all: proto_test idl_test bin/smbd bin/smbclient bin/smbtorture bin/locktest bin/masktest bin/gentest
#SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(SHLIBS) \
# $(TORTURE_PROGS) $(RPC_MODULES) @EXTRA_ALL_TARGETS@
@@ -716,7 +716,10 @@ pch:
idl:
- script/build_idl.sh
+ script/build_idl.sh FULL
+
+idl_test:
+ @script/build_idl.sh
# These dependencies are only approximately correct: we want to make
@@ -1260,6 +1263,9 @@ headers:
proto: headers
+proto_test:
+ @[ -f include/proto.h ] || $(MAKE) proto
+
.PHONY: headers proto
etags:
diff --git a/source4/script/build_idl.sh b/source4/script/build_idl.sh
index 24f18be2ef..cb81e4de74 100755
--- a/source4/script/build_idl.sh
+++ b/source4/script/build_idl.sh
@@ -1,10 +1,14 @@
-#!/bin/bash
+#!/bin/sh
+
+FULLBUILD=$1
for f in librpc/idl/*.idl; do
- echo Processing $f
base=`basename $f .idl`
ndr=librpc/ndr/ndr_$base
- pidl.pl --output $ndr --parse --header --parser --client librpc/rpc/rpc_$base.c $f || exit 1
+ if [ x$FULLBUILD = xFULL -o "$f" -nt $ndr.c ]; then
+ echo Processing $f
+ pidl.pl --output $ndr --parse --header --parser --client librpc/rpc/rpc_$base.c $f || exit 1
+ fi
done
exit 0