s3:Makefile.in: use waf directly to build smbtorture4 and ndrdump4
[metze/samba/wip.git] / source3 / Makefile.in
index 5d390def48e73c67b4762f5592bf4c31ebea772b..6d5a3faf9d5df7bc72638bb75b2331c5aacedc2d 100644 (file)
@@ -177,6 +177,9 @@ CODEPAGEDIR = @codepagedir@
 # the directory where pid files go
 PIDDIR = @piddir@
 
+# the directory where nmbd listens on the unexpected socket
+NMBDSOCKETDIR = @nmbdsocketdir@
+
 FLAGS = -I. \
        -I$(srcdir) \
        @FLAGS1@ \
@@ -185,7 +188,6 @@ FLAGS = -I. \
        $(ISA) \
        -I$(srcdir)/lib \
        -I.. \
-       -I../source4 \
        -D_SAMBA_BUILD_=3
 
 PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
@@ -206,6 +208,7 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
        -DCODEPAGEDIR=\"$(CODEPAGEDIR)\" \
        -DCACHEDIR=\"$(CACHEDIR)\" \
        -DSTATEDIR=\"$(STATEDIR)\" \
+       -DNMBDSOCKETDIR=\"$(NMBDSOCKETDIR)\" \
        -DLOCALEDIR=\"$(LOCALEDIR)\"
 
 # Note that all executable programs now provide for an optional executable suffix.
@@ -249,13 +252,12 @@ SCRIPTS = $(srcdir)/script/smbtar $(builddir)/script/findsmb
 VFS_MODULES = @VFS_MODULES@
 PERFCOUNT_MODULES = @PERFCOUNT_MODULES@
 PDB_MODULES = @PDB_MODULES@
-RPC_MODULES = @RPC_MODULES@
 IDMAP_MODULES = @IDMAP_MODULES@
 CHARSET_MODULES = @CHARSET_MODULES@
 AUTH_MODULES = @AUTH_MODULES@
 NSS_INFO_MODULES = @NSS_INFO_MODULES@
 GPEXT_MODULES = @GPEXT_MODULES@
-MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) \
+MODULES = $(VFS_MODULES) $(PDB_MODULES) $(IDMAP_MODULES) \
           $(CHARSET_MODULES) $(AUTH_MODULES) $(NSS_INFO_MODULES) \
          $(GPEXT_MODULES) $(PERFCOUNT_MODULES)
 
@@ -339,59 +341,44 @@ LIBNDR_PREG_OBJ = librpc/gen_ndr/ndr_preg.o \
 LIBNDR_XATTR_OBJ = librpc/gen_ndr/ndr_xattr.o \
                   ../librpc/ndr/ndr_xattr.o
 
-LIBCLI_SPOOLSS_OBJ = librpc/gen_ndr/cli_spoolss.o \
-                    librpc/gen_ndr/ndr_spoolss_c.o \
+LIBCLI_SPOOLSS_OBJ = librpc/gen_ndr/ndr_spoolss_c.o \
                     rpc_client/cli_spoolss.o \
                     rpc_client/init_spoolss.o
 
-LIBCLI_EVENTLOG_OBJ = librpc/gen_ndr/cli_eventlog.o \
-                     librpc/gen_ndr/ndr_eventlog_c.o
+LIBCLI_EVENTLOG_OBJ = librpc/gen_ndr/ndr_eventlog_c.o
 
-LIBCLI_WINREG_OBJ = librpc/gen_ndr/cli_winreg.o \
-                    librpc/gen_ndr/ndr_winreg_c.o
+LIBCLI_WINREG_OBJ = librpc/gen_ndr/ndr_winreg_c.o
 
-LIBCLI_NTSVCS_OBJ = librpc/gen_ndr/cli_ntsvcs.o \
-                   librpc/gen_ndr/ndr_ntsvcs_c.o
+LIBCLI_NTSVCS_OBJ = librpc/gen_ndr/ndr_ntsvcs_c.o
 
-LIBCLI_DRSUAPI_OBJ = librpc/gen_ndr/cli_drsuapi.o \
-                    librpc/gen_ndr/ndr_drsuapi_c.o
+LIBCLI_DRSUAPI_OBJ = librpc/gen_ndr/ndr_drsuapi_c.o
 
-LIBCLI_DFS_OBJ = librpc/gen_ndr/cli_dfs.o \
-                librpc/gen_ndr/ndr_dfs_c.o
+LIBCLI_DFS_OBJ = librpc/gen_ndr/ndr_dfs_c.o
 
-LIBCLI_ECHO_OBJ = librpc/gen_ndr/cli_echo.o \
-                 librpc/gen_ndr/ndr_echo_c.o
+LIBCLI_ECHO_OBJ = librpc/gen_ndr/ndr_echo_c.o
 
-LIBCLI_INITSHUTDOWN_OBJ = librpc/gen_ndr/cli_initshutdown.o \
-                         librpc/gen_ndr/ndr_initshutdown_c.o
+LIBCLI_INITSHUTDOWN_OBJ = librpc/gen_ndr/ndr_initshutdown_c.o
 
-LIBCLI_DSSETUP_OBJ = librpc/gen_ndr/cli_dssetup.o \
-                    librpc/gen_ndr/ndr_dssetup_c.o
+LIBCLI_DSSETUP_OBJ = librpc/gen_ndr/ndr_dssetup_c.o
 
-LIBCLI_SVCCTL_OBJ = librpc/gen_ndr/cli_svcctl.o \
-                   librpc/gen_ndr/ndr_svcctl_c.o
+LIBCLI_SVCCTL_OBJ = librpc/gen_ndr/ndr_svcctl_c.o
 
-LIBCLI_WKSSVC_OBJ = librpc/gen_ndr/cli_wkssvc.o \
-                   librpc/gen_ndr/ndr_wkssvc_c.o
+LIBCLI_WKSSVC_OBJ = librpc/gen_ndr/ndr_wkssvc_c.o
 
-LIBCLI_SRVSVC_OBJ = librpc/gen_ndr/cli_srvsvc.o \
-                   librpc/gen_ndr/ndr_srvsvc_c.o
+LIBCLI_SRVSVC_OBJ = librpc/gen_ndr/ndr_srvsvc_c.o
 
-LIBCLI_LSA_OBJ = librpc/gen_ndr/cli_lsa.o \
-                librpc/gen_ndr/ndr_lsa_c.o \
+LIBCLI_LSA_OBJ = librpc/gen_ndr/ndr_lsa_c.o \
                 rpc_client/cli_lsarpc.o \
                 rpc_client/init_lsa.o
 
-LIBCLI_SAMR_OBJ = librpc/gen_ndr/cli_samr.o \
-                 librpc/gen_ndr/ndr_samr_c.o \
+LIBCLI_SAMR_OBJ = librpc/gen_ndr/ndr_samr_c.o \
                  rpc_client/cli_samr.o
 
-LIBCLI_NETLOGON_OBJ = librpc/gen_ndr/cli_netlogon.o \
-                     librpc/gen_ndr/ndr_netlogon_c.o \
-                     rpc_client/cli_netlogon.o
+LIBCLI_NETLOGON_OBJ = librpc/gen_ndr/ndr_netlogon_c.o \
+                     rpc_client/cli_netlogon.o \
+                     rpc_client/util_netlogon.o
 
-LIBCLI_EPMAPPER_OBJ = librpc/gen_ndr/cli_epmapper.o \
-                     librpc/gen_ndr/ndr_epmapper_c.o
+LIBCLI_EPMAPPER_OBJ = librpc/gen_ndr/ndr_epmapper_c.o
 
 LIBNDR_GEN_OBJ = librpc/gen_ndr/ndr_wkssvc.o \
                 $(LIBNDR_GEN_OBJ0) \
@@ -429,6 +416,7 @@ UTIL_OBJ = ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o \
                   ../lib/util/genrand.o ../lib/util/util_net.o \
                   ../lib/util/become_daemon.o ../lib/util/system.o \
                   ../lib/util/tevent_unix.o ../lib/util/tevent_ntstatus.o \
+                  ../lib/util/tevent_werror.o \
                   ../lib/util/smb_threads.o ../lib/util/util_id.o \
                   ../lib/util/blocking.o ../lib/util/rfc1738.o \
                   ../lib/util/select.o
@@ -447,6 +435,7 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          lib/serverid.o \
          lib/util_sconn.o \
          lib/util_transfer_file.o ../lib/async_req/async_sock.o \
+         lib/addrchange.o \
          $(TDB_LIB_OBJ) \
          $(VERSION_OBJ) lib/charcnv.o lib/debug.o lib/fault.o \
          lib/interface.o lib/pidfile.o \
@@ -495,8 +484,8 @@ PARAM_OBJ = $(PARAM_WITHOUT_REG_OBJ) $(PARAM_REG_ADD_OBJ)
 
 KRBCLIENT_OBJ = libads/kerberos.o libads/ads_status.o
 
-LIBADDNS_OBJ0 = libaddns/dnsrecord.o libaddns/dnsutils.o  libaddns/dnssock.o \
-              libaddns/dnsgss.o libaddns/dnsmarshall.o
+LIBADDNS_OBJ0 = ../lib/addns/dnsrecord.o ../lib/addns/dnsutils.o  ../lib/addns/dnssock.o \
+              ../lib/addns/dnsgss.o ../lib/addns/dnsmarshall.o ../lib/addns/error.o
 LIBADDNS_OBJ = $(LIBADDNS_OBJ0) $(SOCKET_WRAPPER_OBJ)
 
 GPEXT_OBJ = ../libgpo/gpext/gpext.o @GPEXT_STATIC@
@@ -526,8 +515,8 @@ SECRETS_OBJ = passdb/secrets.o passdb/machine_account_secrets.o passdb/machine_s
              librpc/gen_ndr/ndr_secrets.o
 
 LIBNBT_OBJ = ../libcli/nbt/nbtname.o \
-            ../libcli/netlogon.o \
-            ../libcli/ndr_netlogon.o \
+            ../libcli/netlogon/netlogon.o \
+            ../libcli/netlogon/ndr_netlogon.o \
             librpc/gen_ndr/ndr_nbt.o \
             librpc/gen_ndr/ndr_svcctl.o \
             ../librpc/ndr/ndr_svcctl.o
@@ -590,6 +579,8 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
             libsmb/clistr.o libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \
             libsmb/clioplock.o libsmb/clirap2.o \
             libsmb/smb_seal.o libsmb/async_smb.o \
+            libsmb/cli_np_tstream.o \
+            libsmb/smbsock_connect.o \
             $(LIBSAMBA_OBJ) \
             $(LIBNMB_OBJ) \
             $(LIBNBT_OBJ) \
@@ -666,6 +657,8 @@ REG_FULL_OBJ = $(REG_SMBCONF_OBJ) \
 
 LIB_EVENTLOG_OBJ = lib/eventlog/eventlog.o
 
+DCE_RPC_EP_OBJ = librpc/rpc/dcerpc_ep.o
+
 RPC_LSARPC_OBJ = rpc_server/srv_lsa_nt.o \
                 librpc/gen_ndr/srv_lsa.o
 
@@ -726,13 +719,23 @@ RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \
 
 RPC_RPCECHO_OBJ = rpc_server/srv_echo_nt.o librpc/gen_ndr/srv_echo.o
 
-RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ) $(NPA_TSTREAM_OBJ) \
-                 $(LIBCLI_SPOOLSS_OBJ) \
+RPC_EPMAPPER_OBJ = rpc_server/srv_epmapper.o librpc/gen_ndr/srv_epmapper.o
+
+RPC_SERVER_REGISTER_OBJ = rpc_server/srv_rpc_register.o $(DCE_RPC_EP_OBJ)
+
+RPC_SERVER_OBJ = $(RPC_LSARPC_OBJ) $(RPC_WINREG_OBJ) $(RPC_INITSHUTDOWN_OBJ) \
+                $(RPC_DSSETUP_OBJ) $(RPC_WKSSVC_OBJ) $(RPC_SVCCTL_OBJ) \
+                $(RPC_NTSVCS_OBJ) $(RPC_NETLOGON_OBJ) $(RPC_NETDFS_OBJ) \
+                $(RPC_SRVSVC_OBJ) $(RPC_SPOOLSS_OBJ) $(RPC_EVENTLOG_OBJ) \
+                $(RPC_SAMR_OBJ) $(RPC_RPCECHO_OBJ) $(RPC_EPMAPPER_OBJ) \
+                $(RPC_PIPE_OBJ) $(NPA_TSTREAM_OBJ) \
+                $(LIBCLI_SPOOLSS_OBJ) \
                 $(LIBCLI_WINREG_OBJ) \
                 $(LIBCLI_SRVSVC_OBJ) \
                 $(LIBCLI_LSA_OBJ) \
                 $(LIBCLI_SAMR_OBJ) \
                 $(LIBCLI_NETLOGON_OBJ) \
+                $(RPC_SERVER_REGISTER_OBJ) \
                 $(RPC_CLIENT_SCHANNEL_OBJ) \
                 rpc_client/init_netlogon.o \
                 rpc_client/init_samr.o
@@ -773,7 +776,7 @@ OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o \
             smbd/oplock_onefs.o
 
 NOTIFY_OBJ = smbd/notify.o smbd/notify_inotify.o smbd/notify_internal.o \
-            librpc/gen_ndr/ndr_notify.o
+            librpc/gen_ndr/ndr_notify.o librpc/gen_ndr/ndr_file_id.o
 
 FNAME_UTIL_OBJ = smbd/filename_util.o
 
@@ -827,6 +830,7 @@ VFS_DIRSORT_OBJ = modules/vfs_dirsort.o
 VFS_SCANNEDONLY_OBJ = modules/vfs_scannedonly.o
 VFS_CROSSRENAME_OBJ = modules/vfs_crossrename.o
 VFS_LINUX_XFS_SGID_OBJ = modules/vfs_linux_xfs_sgid.o
+VFS_TIME_AUDIT_OBJ = modules/vfs_time_audit.o
 
 PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
 
@@ -1118,6 +1122,7 @@ LIBNET_OBJ = libnet/libnet_join.o \
             librpc/gen_ndr/ndr_libnet_join.o
 
 LIBNET_DSSYNC_OBJ = libnet/libnet_dssync.o \
+                   libnet/libnet_dssync_passdb.o \
                    libnet/libnet_dssync_keytab.o \
                    ../libcli/drsuapi/repl_decrypt.o
 
@@ -1195,13 +1200,15 @@ SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/uta
                torture/denytest.o torture/mangle_test.o \
                torture/nbench.o \
                torture/test_async_echo.o \
+               torture/test_smbsock_any_connect.o \
+               torture/test_addrchange.o \
                torture/test_posix_append.o
 
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
        $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
        @LIBWBCLIENT_STATIC@ \
-        ../nsswitch/libwbclient/wbc_async.o \
-        ../nsswitch/libwbclient/wb_reqtrans.o \
+        torture/wbc_async.o \
+        lib/wb_reqtrans.o \
        $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBCLI_ECHO_OBJ)
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
@@ -1319,7 +1326,6 @@ WINBINDD_OBJ1 = \
                winbindd/winbindd_dual.o  \
                winbindd/winbindd_dual_ndr.o  \
                winbindd/winbindd_dual_srv.o  \
-               librpc/gen_ndr/cli_wbint.o \
                librpc/gen_ndr/ndr_wbint_c.o \
                librpc/gen_ndr/srv_wbint.o \
                librpc/gen_ndr/ndr_wbint.o \
@@ -1397,7 +1403,7 @@ WINBINDD_OBJ1 = \
                auth/server_info_sam.o \
                auth/user_info.o \
                auth/pampass.o \
-               ../nsswitch/libwbclient/wb_reqtrans.o
+               lib/wb_reqtrans.o
 
 WINBINDD_OBJ = \
                $(WINBINDD_OBJ1) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
@@ -2241,7 +2247,7 @@ LIBADDNS_SHARED_TARGET_SONAME=$(LIBADDNS_SHARED_TARGET).$(LIBADDNS_SOVER)
 LIBADDNS_STATIC_TARGET=@LIBADDNS_STATIC_TARGET@
 LIBADDNS=@LIBADDNS_STATIC@ @LIBADDNS_SHARED@
 #LIBADDNS_SYMS=$(srcdir)/exports/libaddns.@SYMSEXT@
-LIBADDNS_HEADERS=$(srcdir)/libaddns/addns.h
+LIBADDNS_HEADERS=$(srcdir)/../lib/addns/addns.h
 
 $(LIBADDNS_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBADDNS_OBJ) $(LIBTALLOC)
        @echo Linking shared library $@
@@ -2770,6 +2776,10 @@ bin/passdb.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_passdb.o
        @echo "Building plugin $@"
        @$(SHLD_MODULE) winbindd/idmap_passdb.o
 
+bin/autorid.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_autorid.o
+       @echo "Building plugin $@"
+       @$(SHLD_MODULE) winbindd/idmap_autorid.o
+
 bin/ad.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ad.o
        @echo "Building plugin $@"
        @$(SHLD_MODULE) winbindd/idmap_ad.o
@@ -2887,7 +2897,7 @@ bin/solarisacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SOLARISACL_OBJ)
 
 bin/zfsacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ZFSACL_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ)
+       @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ) @ZFSACL_LIBS@
 
 bin/irixacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_IRIXACL_OBJ)
        @echo "Building plugin $@"
@@ -3009,6 +3019,10 @@ bin/linux_xfs_sgid.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_LINUX_XFS_SGID_OBJ)
        @echo "Building plugin $@"
        @$(SHLD_MODULE) $(VFS_LINUX_XFS_SGID_OBJ)
 
+bin/time_audit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TIME_AUDIT_OBJ)
+       @echo "Building plugin $@"
+       @$(SHLD_MODULE) $(VFS_TIME_AUDIT_OBJ)
+
 #########################################################
 ## IdMap NSS plugins
 
@@ -3138,6 +3152,7 @@ installdirs::
        @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) \
                $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) \
                $(VARDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) $(STATEDIR) \
+               $(NMBDSOCKETDIR) \
                $(CACHEDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR) $(LOCALEDIR)
 
 installservers:: all installdirs
@@ -3151,7 +3166,6 @@ installbin:: all installdirs
 installmodules:: modules installdirs
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(VFSLIBDIR) $(VFS_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PDBLIBDIR) $(PDB_MODULES)
-       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(RPCLIBDIR) $(RPC_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(IDMAPLIBDIR) $(IDMAP_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(NSSINFOLIBDIR) $(NSS_INFO_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(CHARSETLIBDIR) $(CHARSET_MODULES)
@@ -3217,6 +3231,7 @@ showlayout::
        @echo "  statedir:    $(STATEDIR)"
        @echo "  cachedir:    $(CACHEDIR)"
        @echo "  piddir:      $(PIDDIR)"
+       @echo "  nmbdsocketdir: $(NMBSOCKETDIR)"
        @echo "  swatdir:     $(SWATDIR)"
        @echo "  datadir:     ${DATADIR}"
        @echo "  codepagedir: $(CODEPAGEDIR)"
@@ -3239,7 +3254,6 @@ uninstallbin::
 uninstallmodules::
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(VFSLIBDIR) $(VFS_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PDBLIBDIR) $(PDB_MODULES)
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(RPCLIBDIR) $(RPC_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(IDMAPLIBDIR) $(IDMAP_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(CHARSETLIBDIR) $(CHARSET_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(AUTHLIBDIR) $(AUTH_MODULES)
@@ -3300,6 +3314,7 @@ include/build_env.h: script/build_env.sh
 proto::
 
 etags::
+       rm -f TAGS
        find $(srcdir)/.. -name "*.[ch]" | xargs -n 100 etags --append $(ETAGS_OPTIONS)
 
 ctags::
@@ -3403,6 +3418,7 @@ test:: all torture timelimit
                NSS_WRAPPER_WINBIND_SO_PATH="$(srcdir)/../nsswitch/libnss_winbind.so" \
                SELFTESTDIR="$(selftestdir)" SELFTESTPREFIX="$(selftest_prefix)" \
                SOURCEDIR="$(srcdir)" \
+               VFSLIBDIR="$(builddir)/bin" \
                RUN_FROM_BUILD_FARM="$(RUN_FROM_BUILD_FARM)" \
                SUBUNIT_FORMATTER="$(SUBUNIT_FORMATTER)" \
                PERL="$(PERL)" PYTHON="$(PYTHON)" \
@@ -3458,21 +3474,24 @@ libnetapi_examples: libnetapi
 clean_libnetapi_examples:
        $(MAKE) -C lib/netapi/examples clean
 
-../source4/configure: ../buildtools/scripts/configure.waf
-       cd ../source4 && ./autogen.sh
+WAF_BINARY=../buildtools/bin/waf
+WAF=$(WAF_BINARY)
+WAF_BUILD=WAF_MAKE=1 $(WAF_BINARY)
+SAMBA4_BINARIES=smbtorture,ndrdump
 
-samba4-configure: ../source4/configure
-       @$(MAKE) -C ../source4 reconfigure || ( cd ../source4 && \
-               ./configure.developer --nonshared-binary=smbtorture --enable-auto-reconfigure )
+samba4-configure:
+       @(cd ../source4 && \
+               CFLAGS='' $(WAF) reconfigure || \
+               CFLAGS='' $(WAF) configure --enable-developer --nonshared-binary=$(SAMBA4_BINARIES) --enable-auto-reconfigure )
 
 .PHONY: samba4-configure
 
 bin/smbtorture4: $(BINARY_PREREQS) samba4-configure
-       cd ../source4 && make bin/smbtorture
+       cd ../source4 && $(WAF_BUILD) --targets=smbtorture
        cp ../source4/bin/smbtorture bin/smbtorture4
 
 bin/ndrdump4: $(BINARY_PREREQS) samba4-configure
-       cd ../source4 && make bin/ndrdump
+       cd ../source4 && $(WAF_BUILD) --targets=ndrdump
        cp ../source4/bin/ndrdump bin/ndrdump4
 
 .PHONY: bin/smbtorture4