s3:Makefile.in: use waf directly to build smbtorture4 and ndrdump4
[metze/samba/wip.git] / source3 / Makefile.in
index 68e0e82c6b8525008661b8a0ce38d20ac9785409..6d5a3faf9d5df7bc72638bb75b2331c5aacedc2d 100644 (file)
@@ -95,6 +95,7 @@ TALLOCTORT = @TALLOCTORT@
 TDBBACKUP = @TDBBACKUP@
 TDBTOOL = @TDBTOOL@
 TDBDUMP = @TDBDUMP@
+TDBRESTORE = @TDBRESTORE@
 TDBTORTURE = @TDBTORTURE@
 
 INSTALLCMD=@INSTALL@
@@ -176,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@ \
@@ -184,7 +188,6 @@ FLAGS = -I. \
        $(ISA) \
        -I$(srcdir)/lib \
        -I.. \
-       -I../source4 \
        -D_SAMBA_BUILD_=3
 
 PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
@@ -205,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.
@@ -216,6 +220,7 @@ BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \
        bin/smbta-util@EXEEXT@
 BIN_PROGS2 = bin/smbcontrol@EXEEXT@ bin/smbtree@EXEEXT@ $(TDBBACKUP) \
        bin/nmblookup@EXEEXT@ bin/pdbedit@EXEEXT@ $(TDBDUMP) \
+       $(TDBRESTORE) \
        $(TDBTOOL)
 BIN_PROGS3 = bin/smbpasswd@EXEEXT@ bin/rpcclient@EXEEXT@ bin/smbcacls@EXEEXT@ \
        bin/profiles@EXEEXT@ bin/ntlm_auth@EXEEXT@ bin/sharesec@EXEEXT@ \
@@ -247,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)
 
@@ -337,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) \
@@ -427,8 +416,10 @@ 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/blocking.o ../lib/util/rfc1738.o \
+                  ../lib/util/select.o
 
 CRYPTO_OBJ = ../lib/crypto/crc32.o ../lib/crypto/md5.o \
                         ../lib/crypto/hmacmd5.o ../lib/crypto/arcfour.o \
@@ -444,13 +435,14 @@ 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 \
          lib/system.o lib/sendfile.o lib/recvfile.o lib/time.o \
          lib/username.o \
          ../libds/common/flag_mapping.o \
-         lib/util_pw.o lib/access.o lib/smbrun.o \
+         lib/access.o lib/smbrun.o \
          lib/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
          lib/wins_srv.o \
          lib/util_str.o lib/clobber.o lib/util_sid.o \
@@ -458,7 +450,7 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          lib/util.o lib/util_names.o \
          lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
          lib/substitute.o lib/dbwrap_util.o \
-         lib/ms_fnmatch.o lib/select.o lib/errmap_unix.o \
+         lib/ms_fnmatch.o lib/errmap_unix.o \
          lib/tallocmsg.o lib/dmallocmsg.o \
          libsmb/clisigning.o libsmb/smb_signing.o \
          lib/iconv.o lib/pam_errors.o intl/lang_tdb.o \
@@ -467,18 +459,20 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          lib/module.o lib/events.o @LIBTEVENT_OBJ0@ \
          lib/server_contexts.o \
          lib/ldap_escape.o @CHARSET_STATIC@ \
-         lib/secdesc.o lib/util_seaccess.o ../libcli/security/secace.o \
+         lib/secdesc.o ../libcli/security/access_check.o \
+         ../libcli/security/secace.o ../libcli/security/object_tree.o \
          ../libcli/security/sddl.o \
          ../libcli/security/secacl.o @PTHREADPOOL_OBJ@ \
          lib/fncall.o \
          libads/krb5_errs.o lib/system_smbd.o lib/audit.o $(LIBNDR_OBJ) \
          lib/file_id.o lib/idmap_cache.o \
-         ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o
+         ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o \
+         ../libcli/security/security_token.o ../libcli/security/util_sid.o
 
 LIB_DUMMY_OBJ = lib/dummysmbd.o lib/dummyroot.o
 LIB_NONSMBD_OBJ = $(LIB_OBJ) $(LIB_DUMMY_OBJ)
 
-READLINE_OBJ = lib/readline.o
+READLINE_OBJ = ../libcli/smbreadline/smbreadline.o
 
 # Also depends on  $(SECRETS_OBJ) $(LIBSAMBA_OBJ)
 # Be sure to include them into your application
@@ -490,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@
@@ -521,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
@@ -585,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) \
@@ -593,9 +589,9 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
 
 LIBMSRPC_OBJ = $(SCHANNEL_OBJ) \
               rpc_client/cli_pipe.o \
-              librpc/rpc/dcerpc_krb5.o \
-              librpc/rpc/dcerpc_gssapi.o \
-              librpc/rpc/dcerpc_spnego.o \
+              librpc/crypto/gse_krb5.o \
+              librpc/crypto/gse.o \
+              librpc/crypto/cli_spnego.o \
               librpc/rpc/rpc_common.o \
               rpc_client/rpc_transport_np.o \
               rpc_client/rpc_transport_sock.o \
@@ -603,10 +599,10 @@ LIBMSRPC_OBJ = $(SCHANNEL_OBJ) \
               ../librpc/rpc/binding.o \
               ../librpc/rpc/dcerpc_util.o \
               ../librpc/rpc/binding_handle.o \
-              librpc/rpc/dcerpc_helpers.o
+              librpc/rpc/dcerpc_helpers.o \
+              $(LIBCLI_EPMAPPER_OBJ)
 
-LIBMSRPC_GEN_OBJ = $(LIBCLI_EPMAPPER_OBJ) \
-                  $(LIBNDR_GEN_OBJ)
+LIBMSRPC_GEN_OBJ = $(LIBNDR_GEN_OBJ)
 
 #
 # registry-related objects
@@ -661,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
 
@@ -712,18 +710,32 @@ RPC_NCACN_NP = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np.o \
 
 RPC_SERVICE = rpc_server/rpc_server.o
 
+RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.o \
+               rpc_server/dcesrv_gssapi.o \
+               rpc_server/dcesrv_spnego.o
+
 RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \
-              $(RPC_NCACN_NP) $(RPC_SERVICE)
+              $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO)
 
 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
@@ -764,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
 
@@ -818,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
 
@@ -1109,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
 
@@ -1185,14 +1199,17 @@ NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) \
 SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \
                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 \
-       $(LIBNDR_GEN_OBJ0)
+        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) \
                  $(LIB_NONSMBD_OBJ) \
@@ -1206,7 +1223,7 @@ LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) $(LOCKING_OBJ) $(KRBCLIENT_OBJ) \
                $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \
                $(LIBNDR_GEN_OBJ0) $(FNAME_UTIL_OBJ)
 
-NSSTEST_OBJ = torture/nsstest.o $(LIBSAMBAUTIL_OBJ)
+NSSTEST_OBJ = ../nsswitch/nsstest.o $(LIBSAMBAUTIL_OBJ)
 
 PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
                $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
@@ -1309,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 \
@@ -1387,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) \
@@ -1432,6 +1448,9 @@ TDBTOOL_OBJ = @tdbdir@/tools/tdbtool.o $(LIBREPLACE_OBJ) \
 TDBDUMP_OBJ = @tdbdir@/tools/tdbdump.o $(LIBREPLACE_OBJ) \
        $(SOCKET_WRAPPER_OBJ)
 
+TDBRESTORE_OBJ = @tdbdir@/tools/tdbrestore.o $(LIBREPLACE_OBJ) \
+       $(SOCKET_WRAPPER_OBJ)
+
 TDBTORTURE_OBJ = @tdbdir@/tools/tdbtorture.o $(LIBREPLACE_OBJ) \
        $(SOCKET_WRAPPER_OBJ)
 
@@ -2228,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 $@
@@ -2757,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
@@ -2874,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 $@"
@@ -2996,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
 
@@ -3034,7 +3061,11 @@ bin/tdbtool@EXEEXT@: $(BINARY_PREREQS) $(TDBTOOL_OBJ) $(LIBTALLOC) $(LIBTDB)
 
 bin/tdbdump@EXEEXT@: $(BINARY_PREREQS) $(TDBDUMP_OBJ) $(LIBTDB)
        @echo Linking $@
-       @$(CC) -o $@ $(LDFLAGS) $(TDBDUMP_OBJ) $(DYNEXP) $(LIBTDB_LIBS)
+       @$(CC) -o $@ $(LDFLAGS) $(TDBDUMP_OBJ) $(DYNEXP) $(LIBTDB_LIBS) $(LIBREPLACE_LIBS)
+
+bin/tdbrestore@EXEEXT@: $(BINARY_PREREQS) $(TDBRESTORE_OBJ) $(LIBTDB)
+       @echo Linking $@
+       @$(CC) -o $@ $(LDFLAGS) $(TDBRESTORE_OBJ) $(DYNEXP) $(LIBTDB_LIBS) $(LIBREPLACE_LIBS)
 
 bin/tdbtorture@EXEEXT@: $(BINARY_PREREQS) $(TDBTORTURE_OBJ) $(LIBTALLOC) $(LIBTDB)
        @echo Linking $@
@@ -3095,12 +3126,12 @@ bin/dbwrap_torture@EXEEXT@: $(DBWRAP_TORTURE_OBJ) $(LIBTALLOC) $(LIBTDB)
 install-dbwrap_torture:: bin/dbwrap_torture@EXEEXT@
        @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $<
 
-bin/split_tokens@EXEEXT@: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
+bin/split_tokens@EXEEXT@: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo "Linking $@"
        @$(CC) -o $@ $(SPLIT_TOKENS_OBJ) \
                $(LDFLAGS) $(DYNEXP) \
                $(LIBS) $(POPT_LIBS) \
-               $(LDAP_LIBS) \
+               $(LDAP_LIBS) $(LIBWBCLIENT_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
 
 install:: installservers installbin installman \
@@ -3121,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
@@ -3134,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)
@@ -3200,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)"
@@ -3222,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)
@@ -3283,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::
@@ -3386,7 +3418,9 @@ 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)" \
                $(srcdir)/selftest/s3-selftest.sh
 
@@ -3396,6 +3430,9 @@ test-%:
 buildfarm-test:
        $(MAKE) test RUN_FROM_BUILD_FARM=yes
 
+subunit-test:
+       $(MAKE) test SUBUNIT_FORMATTER=cat
+
 SELFTEST_TESTENV = dc
 
 testenv:
@@ -3437,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 && ../buildtools/bin/waf build --targets=smbtorture
+       cd ../source4 && $(WAF_BUILD) --targets=smbtorture
        cp ../source4/bin/smbtorture bin/smbtorture4
 
 bin/ndrdump4: $(BINARY_PREREQS) samba4-configure
-       cd ../source4 && ../buildtools/bin/waf build --targets=ndrdump
+       cd ../source4 && $(WAF_BUILD) --targets=ndrdump
        cp ../source4/bin/ndrdump bin/ndrdump4
 
 .PHONY: bin/smbtorture4