libcli/smb: move source3/libsmb/read_smb.* to the toplevel
[kai/samba.git] / source3 / Makefile.in
index 7e1ebfacb24930c28087956e1ed13935afa30934..6f216c67b8cb684aea11e85f2dd3916f4d5902ab 100644 (file)
@@ -16,6 +16,42 @@ sysconfdir=@sysconfdir@
 localstatedir=@localstatedir@
 datarootdir=@datarootdir@
 
+# the following vars come from ../dynconfig/config.m4
+BINDIR=@BINDIR@
+SBINDIR=@SBINDIR@
+LIBDIR=@LIBDIR@
+#LIBEXECDIR=@LIBEXECDIR@
+MANDIR=@MANDIR@
+DATADIR=@DATADIR@
+LOCALEDIR=@LOCALEDIR@
+#SCRIPTSBINDIR=@SCRIPTSBINDIR@
+#PYTHONDIR=@PYTHONDIR@
+#PYTHONARCHDIR=@PYTHONARCHDIR@
+MODULESDIR=@MODULESDIR@
+INCLUDEDIR=@INCLUDEDIR@
+SETUPDIR=@SETUPDIR@
+#PKGCONFIGDIR=@PKGCONFIGDIR@
+SWATDIR=@SWATDIR@
+CODEPAGEDIR=@CODEPAGEDIR@
+PAMMODULESDIR=@PAMMODULESDIR@
+CONFIGDIR=@CONFIGDIR@
+PRIVATE_DIR=@PRIVATE_DIR@
+LOCKDIR=@LOCKDIR@
+PIDDIR=@PIDDIR@
+STATEDIR=@STATEDIR@
+CACHEDIR=@CACHEDIR@
+LOGFILEBASE=@LOGFILEBASE@
+SOCKET_DIR=@SOCKET_DIR@
+PRIVILEGED_SOCKET_DIR=@PRIVILEGED_SOCKET_DIR@
+#WINBINDD_SOCKET_DIR=@WINBINDD_SOCKET_DIR@
+#WINBINDD_PRIVILEGED_SOCKET_DIR=@WINBINDD_PRIVILEGED_SOCKET_DIR@
+NMBDSOCKETDIR=@NMBDSOCKETDIR@
+#NTP_SIGND_SOCKET_DIR=@NTP_SIGND_SOCKET_DIR@
+NCALRPCDIR=@NCALRPCDIR@
+CONFIGFILE=@CONFIGFILE@
+LMHOSTSFILE=@LMHOSTSFILE@
+SMB_PASSWD_FILE=@SMB_PASSWD_FILE@
+
 selftest_prefix=@selftest_prefix@
 selftest_shrdir=@selftest_shrdir@
 smbtorture4_path=@smbtorture4_path@
@@ -28,7 +64,7 @@ SHLD=@SHLD@
 LIB_PATH_VAR=@LIB_PATH_VAR@
 
 ## Dynamic shared libraries build settings
-DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's/@SHLIBEXT@\(.[0-9]\{1,\}\)\{0,1\}$$/@SYMSEXT@/'`
+DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's:\.@SHLIBEXT@[\.0-9]*$$:.@SYMSEXT@:'`
 DSO_EXPORTS=@DSO_EXPORTS@
 SHLD_DSO = $(SHLD) $(LDSHFLAGS) $(DSO_EXPORTS) -o $@
 
@@ -117,15 +153,6 @@ DESTDIR=/
 # See the autoconf manual "Installation Directory Variables" for a
 # discussion of the subtle use of these variables.
 
-BASEDIR= @prefix@
-BINDIR = @bindir@
-# sbindir is mapped to bindir when compiling SAMBA in 2.0.x compatibility mode.
-SBINDIR = @sbindir@
-ROOTSBINDIR = @rootsbindir@
-LIBDIR = @libdir@
-MODULESDIR = @modulesdir@
-INCLUDEDIR=@includedir@
-PAMMODULESDIR = @pammodulesdir@
 VFSLIBDIR = $(MODULESDIR)/vfs
 PERFCOUNTLIBDIR = $(MODULESDIR)/perfcount
 PDBLIBDIR = $(MODULESDIR)/pdb
@@ -136,52 +163,12 @@ CHARSETLIBDIR = $(MODULESDIR)/charset
 AUTHLIBDIR = $(MODULESDIR)/auth
 CONFIGLIBDIR = $(MODULESDIR)/config
 GPEXTLIBDIR = $(MODULESDIR)/gpext
-CONFIGDIR = @configdir@
 VARDIR = @localstatedir@
-MANDIR = @mandir@
-DATADIR = @datadir@
-SETUPDIR = @datadir@/setup
 
 # The permissions to give the executables and other data
 INSTALLPERMS_BIN = 0755
 INSTALLPERMS_DATA = 0644
 
-# set these to where to find various files
-# These can be overridden by command line switches (see smbd(8))
-# or in smb.conf (see smb.conf(5))
-LOGFILEBASE = @logfilebase@
-CONFIGFILE = $(CONFIGDIR)/smb.conf
-LMHOSTSFILE = $(CONFIGDIR)/lmhosts
-NCALRPCDIR = @ncalrpcdir@
-
-# This is where smbpasswd et al go
-PRIVATEDIR = @privatedir@
-
-SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd
-PRIVATE_DIR = $(PRIVATEDIR)
-
-# This is where SWAT images and help files go
-SWATDIR = @swatdir@
-
-# This is where locale(mo) files go
-LOCALEDIR= @localedir@
-
-# the directory where lock files go
-LOCKDIR = @lockdir@
-
-# FHS directories; equal to LOCKDIR if not using --with-fhs, but also settable
-CACHEDIR = @cachedir@
-STATEDIR = @statedir@
-
-# Where to look for (and install) codepage databases.
-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@ \
@@ -190,6 +177,7 @@ FLAGS = -I. \
        $(ISA) \
        -I$(srcdir)/lib \
        -I.. \
+       -I./../lib/ldb/include \
        -D_SAMBA_BUILD_=3
 
 PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
@@ -273,10 +261,12 @@ EXTRA_ALL_TARGETS = @EXTRA_ALL_TARGETS@
 
 TDB_LIB_OBJ = lib/util_tdb.o ../lib/util/util_tdb.o \
          ../lib/util/tdb_wrap.o \
-         lib/dbwrap.o lib/dbwrap_tdb.o \
-         lib/dbwrap_ctdb.o \
+         lib/dbwrap/dbwrap.o \
+         lib/dbwrap/dbwrap_open.o \
+         lib/dbwrap/dbwrap_tdb.o \
+         lib/dbwrap/dbwrap_ctdb.o \
          lib/g_lock.o \
-         lib/dbwrap_rbt.o
+         lib/dbwrap/dbwrap_rbt.o
 
 TDB_VALIDATE_OBJ = lib/tdb_validate.o
 
@@ -349,7 +339,9 @@ LIBNDR_XATTR_OBJ = librpc/gen_ndr/ndr_xattr.o \
 
 LIBCLI_SPOOLSS_OBJ = librpc/gen_ndr/ndr_spoolss_c.o \
                     rpc_client/cli_spoolss.o \
-                    rpc_client/init_spoolss.o
+                    rpc_client/init_spoolss.o \
+                    rpc_client/cli_winreg_spoolss.o \
+                    printing/nt_printing_os2.o
 
 LIBCLI_EVENTLOG_OBJ = librpc/gen_ndr/ndr_eventlog_c.o
 
@@ -393,6 +385,7 @@ LIBCLI_EPMAPPER_OBJ = librpc/gen_ndr/ndr_epmapper_c.o
 LIBNDR_GEN_OBJ = librpc/gen_ndr/ndr_wkssvc.o \
                 $(LIBNDR_GEN_OBJ0) \
                 librpc/gen_ndr/ndr_dfs.o \
+                librpc/gen_ndr/ndr_dfsblobs.o \
                 librpc/gen_ndr/ndr_echo.o \
                 librpc/gen_ndr/ndr_winreg.o \
                 librpc/gen_ndr/ndr_initshutdown.o \
@@ -412,10 +405,12 @@ LIBREPLACE_OBJ = @LIBREPLACE_OBJS@
 
 SOCKET_WRAPPER_OBJ = @SOCKET_WRAPPER_OBJS@
 NSS_WRAPPER_OBJ = @NSS_WRAPPER_OBJS@
+UID_WRAPPER_OBJ = @UID_WRAPPER_OBJS@
 
 LIBSAMBAUTIL_OBJ = \
                $(LIBREPLACE_OBJ) \
                $(SOCKET_WRAPPER_OBJ) \
+               $(UID_WRAPPER_OBJ) \
                $(NSS_WRAPPER_OBJ)
 
 UTIL_OBJ = ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o \
@@ -437,9 +432,10 @@ CRYPTO_OBJ = ../lib/crypto/crc32.o ../lib/crypto/md5.o \
                         ../lib/crypto/sha256.o ../lib/crypto/hmacsha256.o \
                         ../lib/crypto/aes.o ../lib/crypto/rijndael-alg-fst.o
 
-LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
+LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) $(LIBTSOCKET_OBJ) \
          lib/messages.o librpc/gen_ndr/ndr_messaging.o lib/messages_local.o \
          lib/messages_ctdbd.o lib/ctdb_packet.o lib/ctdbd_conn.o \
+         lib/id_cache.o \
          ../lib/socket/interfaces.o lib/memcache.o \
          lib/talloc_dict.o \
          lib/serverid.o \
@@ -455,7 +451,7 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          lib/username.o \
          ../libds/common/flag_mapping.o \
          lib/access.o lib/smbrun.o \
-         lib/bitmap.o ../lib/util/dprintf.o $(UTIL_REG_OBJ) \
+         ../lib/util/bitmap.o ../lib/util/dprintf.o $(UTIL_REG_OBJ) \
          lib/wins_srv.o lib/string_init.o \
          lib/util_str.o ../lib/util/util_str_common.o \
          ../lib/util/util_str.o \
@@ -464,20 +460,23 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          ../lib/util/charset/util_unistr_w.o ../lib/util/charset/codepoints.o ../lib/util/charset/util_str.o lib/util_file.o \
          lib/util.o lib/util_malloc.o lib/namearray.o lib/util_cmdline.o lib/util_names.o \
          lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
-         lib/substitute.o lib/substitute_generic.o ../lib/util/substitute.o lib/dbwrap_util.o \
+         lib/substitute.o lib/substitute_generic.o ../lib/util/substitute.o lib/dbwrap/dbwrap_util.o \
          lib/ms_fnmatch.o ../lib/util/ms_fnmatch.o lib/errmap_unix.o ../libcli/util/errmap_unix.o \
          lib/tallocmsg.o lib/dmallocmsg.o \
-         libsmb/clisigning.o libsmb/smb_signing.o \
-         ../lib/util/charset/iconv.o intl/lang_tdb.o \
+         libsmb/smb_signing.o \
+         ../lib/util/charset/iconv.o ../lib/util/charset/weird.o \
+         ../lib/util/charset/charset_macosxfs.o intl/lang_tdb.o \
          lib/conn_tdb.o lib/adt_tree.o lib/gencache.o \
          lib/sessionid_tdb.o \
-         lib/module.o lib/events.o @LIBTEVENT_OBJ0@ \
+         ../lib/util/modules.o lib/events.o @LIBTEVENT_OBJ0@ \
          @CCAN_OBJ@ \
          lib/server_contexts.o \
+         lib/server_prefork.o \
+         lib/server_prefork_util.o \
          lib/ldap_escape.o @CHARSET_STATIC@ \
          ../libcli/security/secdesc.o ../libcli/security/access_check.o \
          ../libcli/security/secace.o ../libcli/security/object_tree.o \
-         ../libcli/security/sddl.o \
+         ../libcli/security/sddl.o ../libcli/security/session.o \
          ../libcli/security/secacl.o @PTHREADPOOL_OBJ@ \
          lib/fncall.o \
          libads/krb5_errs.o lib/system_smbd.o lib/audit.o $(LIBNDR_OBJ) \
@@ -495,7 +494,7 @@ READLINE_OBJ = ../libcli/smbreadline/smbreadline.o
 # Be sure to include them into your application
 POPT_LIB_OBJ = lib/popt_common.o
 
-PARAM_WITHOUT_REG_OBJ = ../dynconfig/dynconfig.o param/loadparm.o param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o
+PARAM_WITHOUT_REG_OBJ = ../dynconfig/dynconfig.o param/loadparm.o param/loadparm_ctx.o param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o ../lib/param/loadparm.o ../lib/param/util.o
 PARAM_REG_ADD_OBJ = $(REG_SMBCONF_OBJ) $(LIBSMBCONF_OBJ) $(PRIVILEGES_BASIC_OBJ)
 PARAM_OBJ = $(PARAM_WITHOUT_REG_OBJ) $(PARAM_REG_ADD_OBJ)
 
@@ -529,7 +528,8 @@ LIBADS_SERVER_OBJ = libads/kerberos_verify.o libads/authdata.o ../auth/kerberos/
 LIBADS_PRINTER_OBJ = libads/ldap_printer.o
 
 SECRETS_OBJ = passdb/secrets.o passdb/machine_account_secrets.o passdb/machine_sid.o \
-             librpc/gen_ndr/ndr_secrets.o
+             librpc/gen_ndr/ndr_secrets.o \
+             passdb/secrets_lsa.o
 
 LIBNBT_OBJ = ../libcli/nbt/nbtname.o \
             ../libcli/netlogon/netlogon.o \
@@ -558,17 +558,22 @@ LIBSMB_OBJ0 = \
               ../libcli/auth/ntlm_check.o \
               libsmb/ntlmssp.o \
               libsmb/ntlmssp_wrap.o \
-              ../libcli/auth/ntlmssp.o \
-              ../libcli/auth/ntlmssp_sign.o \
+              ../auth/gensec/gensec.o \
+              ../auth/gensec/gensec_start.o \
+              ../auth/credentials/credentials.o \
+              ../auth/credentials/credentials_samba3.o \
+              ../auth/ntlmssp/ntlmssp.o \
+              ../auth/ntlmssp/ntlmssp_sign.o \
+              ../auth/ntlmssp/gensec_ntlmssp.o \
               $(LIBNDR_NTLMSSP_OBJ) \
-              ../libcli/auth/ntlmssp_ndr.o \
-              ../libcli/auth/ntlmssp_server.o
+              ../auth/ntlmssp/ntlmssp_ndr.o \
+              ../auth/ntlmssp/ntlmssp_server.o
 
 LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \
               $(LIBSMB_ERR_OBJ)
 
 LIBCLI_LDAP_MESSAGE_OBJ = ../libcli/ldap/ldap_message.o
-LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o lib/ldb_compat.o
+LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o ../lib/ldb/common/ldb_parse.o
 
 LIBTSOCKET_OBJ = ../lib/tsocket/tsocket.o \
                ../lib/tsocket/tsocket_helpers.o \
@@ -577,7 +582,7 @@ LIBTSOCKET_OBJ = ../lib/tsocket/tsocket.o \
 CLDAP_OBJ = libads/cldap.o \
        ../libcli/cldap/cldap.o \
        ../lib/util/idtree.o \
-       $(LIBCLI_LDAP_MESSAGE_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTSOCKET_OBJ)
+       $(LIBCLI_LDAP_MESSAGE_OBJ) $(LIBCLI_LDAP_NDR_OBJ)
 
 TLDAP_OBJ = lib/tldap.o lib/tldap_util.o lib/util_tsock.o
 
@@ -590,13 +595,29 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
             libsmb/clikrb5.o ../libcli/auth/krb5_wrap.o libsmb/clispnego.o \
             ../libcli/auth/spnego_parse.o \
             ../lib/util/asn1.o \
+            libsmb/reparse_symlink.o \
+            libsmb/clisymlink.o \
             libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
             libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \
             libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.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/read_smb.o \
+            libsmb/async_smb.o \
+            libsmb/clisigning.o \
+            ../libcli/smb/smb_seal.o \
+            ../libcli/smb/read_smb.o \
+            libsmb/smb2cli_base.o \
+            libsmb/smb2cli_negprot.o \
+            libsmb/smb2cli_session.o \
+            libsmb/smb2cli_tcon.o \
+            libsmb/smb2cli_create.o \
+            ../libcli/smb/smb2_create_blob.o \
+            ../libcli/smb/smb2_signing.o \
+            libsmb/smb2cli_close.o \
+            libsmb/smb2cli_flush.o \
+            libsmb/smb2cli_read.o \
+            libsmb/smb2cli_write.o \
+            libsmb/smb2cli_query_directory.o \
             libsmb/cli_np_tstream.o \
             libsmb/smbsock_connect.o \
             $(LIBSAMBA_OBJ) \
@@ -678,7 +699,8 @@ LIB_EVENTLOG_OBJ = lib/eventlog/eventlog.o
 DCE_RPC_EP_OBJ = librpc/rpc/dcerpc_ep.o
 
 RPC_LSARPC_OBJ = rpc_server/lsa/srv_lsa_nt.o \
-                librpc/gen_ndr/srv_lsa.o
+                librpc/gen_ndr/srv_lsa.o \
+                rpc_client/util_lsarpc.o
 
 RPC_NETLOGON_OBJ = rpc_server/netlogon/srv_netlog_nt.o \
                   librpc/gen_ndr/srv_netlogon.o
@@ -731,6 +753,8 @@ RPC_NCACN_NP = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np.o \
               rpc_server/rpc_handles.o rpc_server/rpc_contexts.o \
               rpc_server/srv_access_check.o
 
+RPC_CONFIG = rpc_server/rpc_config.o
+
 RPC_SERVICE = rpc_server/rpc_server.o
 
 RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.o \
@@ -738,13 +762,13 @@ RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.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_CRYPTO)
+              $(RPC_CONFIG) $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO)
 
 RPC_RPCECHO_OBJ = rpc_server/echo/srv_echo_nt.o librpc/gen_ndr/srv_echo.o
 
 RPC_EPMAPPER_OBJ = rpc_server/epmapper/srv_epmapper.o librpc/gen_ndr/srv_epmapper.o
 
-RPC_SERVER_REGISTER_OBJ = rpc_server/rpc_ep_setup.o $(DCE_RPC_EP_OBJ)
+RPC_SERVER_REGISTER_OBJ = rpc_server/rpc_ep_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) \
@@ -760,6 +784,8 @@ RPC_SERVER_OBJ = $(RPC_LSARPC_OBJ) $(RPC_WINREG_OBJ) $(RPC_INITSHUTDOWN_OBJ) \
                 $(LIBCLI_NETLOGON_OBJ) \
                 $(RPC_SERVER_REGISTER_OBJ) \
                 $(RPC_CLIENT_SCHANNEL_OBJ) \
+                rpc_server/rpc_sock_helper.o \
+                rpc_server/rpc_service_setup.o \
                 rpc_client/init_netlogon.o \
                 rpc_client/init_samr.o
 
@@ -782,8 +808,6 @@ PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \
                passdb/pdb_util.o
 
 DEVEL_HELP_WEIRD_OBJ = ../lib/util/charset/weird.o
-CP850_OBJ = ../lib/util/charset/CP850.o
-CP437_OBJ = ../lib/util/charset/CP437.o
 CHARSET_MACOSXFS_OBJ = ../lib/util/charset/charset_macosxfs.o
 
 GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_tdb.o
@@ -903,6 +927,7 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
                smbd/posix_acls.o lib/sysacls.o \
               smbd/process.o smbd/service.o param/service.o smbd/error.o \
               rpc_server/epmd.o \
+              rpc_server/lsasd.o \
               printing/printspoolss.o printing/spoolssd.o \
               lib/sysquotas.o lib/sysquotas_linux.o \
               lib/sysquotas_xfs.o lib/sysquotas_4A.o \
@@ -915,7 +940,6 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
               smbd/file_access.o \
               smbd/dnsregister.o smbd/globals.o \
               smbd/smb2_server.o \
-              smbd/smb2_signing.o \
               smbd/smb2_glue.o \
               smbd/smb2_negprot.o \
               smbd/smb2_sesssetup.o \
@@ -933,7 +957,6 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
               smbd/smb2_getinfo.o \
               smbd/smb2_setinfo.o \
               smbd/smb2_break.o \
-              ../libcli/smb/smb2_create_blob.o \
               $(MANGLE_OBJ) @VFS_STATIC@
 
 SMBD_OBJ_BASE = $(PARAM_WITHOUT_REG_OBJ) $(SMBD_OBJ_SRV) $(LIBSMB_OBJ) \
@@ -962,9 +985,11 @@ PRINTBACKEND_OBJ = printing/printing.o \
                   printing/nt_printing.o \
                   printing/nt_printing_tdb.o \
                   printing/nt_printing_migrate.o \
+                  printing/nt_printing_migrate_internal.o \
                   printing/nt_printing_ads.o \
                   librpc/gen_ndr/ndr_ntprinting.o \
                    ../librpc/ndr/ndr_ntprinting.o \
+                  printing/queue_process.o \
                   $(PRINTBASE_OBJ)
 
 SMBD_OBJ = $(SMBD_OBJ_BASE) $(SMBD_OBJ_MAIN)
@@ -1036,7 +1061,7 @@ SMBPASSWD_OBJ = utils/smbpasswd.o $(PASSWD_UTIL_OBJ) $(PASSCHANGE_OBJ) \
                rpc_client/init_lsa.o
 
 PDBEDIT_OBJ = utils/pdbedit.o $(PASSWD_UTIL_OBJ) $(PARAM_OBJ) $(PASSDB_OBJ) \
-               $(LIBSAMBA_OBJ) $(LIBTSOCKET_OBJ) \
+               $(LIBSAMBA_OBJ) \
                $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
                $(LIBCLI_LDAP_NDR_OBJ) \
                $(DRSUAPI_OBJ) $(LIBNDR_GEN_OBJ0) \
@@ -1168,20 +1193,22 @@ LIBNET_SAMSYNC_OBJ = libnet/libnet_samsync.o \
 NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
           utils/net_rap.o utils/net_rpc.o utils/net_rpc_samsync.o \
           utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
-          utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o utils/net_idmap_check.o\
+          utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o \
+          utils/net_idmap_check.o utils/interact.o \
           utils/net_status.o utils/net_rpc_printer.o utils/net_rpc_rights.o \
           utils/net_rpc_service.o utils/net_rpc_registry.o utils/net_usershare.o \
           utils/netlookup.o utils/net_sam.o utils/net_rpc_shell.o \
           utils/net_util.o utils/net_rpc_sh_acct.o utils/net_rpc_audit.o \
           $(PASSWD_UTIL_OBJ) utils/net_dns.o utils/net_ads_gpo.o \
           utils/net_conf.o utils/net_join.o utils/net_user.o \
-          utils/net_group.o utils/net_file.o utils/net_registry.o \
+          utils/net_group.o utils/net_file.o utils/net_registry.o utils/net_registry_check.o\
           auth/token_util.o utils/net_dom.o utils/net_share.o \
           utils/net_g_lock.o \
           utils/net_serverid.o \
           utils/net_eventlog.o \
           utils/net_printing.o \
           utils/net_rpc_trust.o \
+          utils/net_rpc_conf.o\
           $(LIBNDR_NTPRINTING_OBJ) \
           $(LIBNDR_PREG_OBJ) \
           $(LIBCLI_SPOOLSS_OBJ) \
@@ -1200,7 +1227,7 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
           rpc_client/init_samr.o \
           registry/reg_parse.o registry/reg_format.o \
           registry/reg_parse_internal.o registry/reg_import.o \
-          lib/cbuf.o lib/srprs.o
+          lib/cbuf.o lib/srprs.o printing/nt_printing_migrate.o
 
 # these are not processed by make proto
 NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
@@ -1235,16 +1262,20 @@ SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/uta
                torture/test_async_echo.o \
                torture/test_smbsock_any_connect.o \
                torture/test_nttrans_create.o \
+               torture/test_nttrans_fsctl.o \
                torture/test_notify_online.o \
                torture/test_addrchange.o \
                torture/test_case_insensitive.o \
-               torture/test_posix_append.o
+               torture/test_posix_append.o \
+               torture/test_smb2.o \
+               torture/test_authinfo_structs.o
 
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
        $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
        @LIBWBCLIENT_STATIC@ \
         torture/wbc_async.o \
         ../nsswitch/wb_reqtrans.o \
+       rpc_client/util_lsarpc.o \
        $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBCLI_ECHO_OBJ)
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
@@ -1325,7 +1356,7 @@ PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
 PAM_SMBPASS_OBJ = $(PAM_SMBPASS_OBJ_0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
                $(SMBLDAP_OBJ) $(LIBSAMBA_OBJ) \
                $(DRSUAPI_OBJ) $(LIBNDR_GEN_OBJ0) \
-               $(LIBTSOCKET_OBJ) $(PAM_ERRORS_OBJ)
+               $(PAM_ERRORS_OBJ)
 
 IDMAP_RW_OBJ = winbindd/idmap_rw.o
 
@@ -1353,7 +1384,6 @@ WINBINDD_OBJ1 = \
                winbindd/winbindd_pam.o   \
                winbindd/winbindd_misc.o  \
                winbindd/winbindd_cm.o    \
-               winbindd/winbindd_wins.o  \
                winbindd/winbindd_wins_byip.o  \
                winbindd/winbindd_wins_byname.o  \
                winbindd/winbindd_msrpc.o \
@@ -1454,7 +1484,8 @@ WINBINDD_OBJ = \
                $(PROFILE_OBJ) $(SLCACHE_OBJ) $(SMBLDAP_OBJ) \
                $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
                $(DCUTIL_OBJ) $(IDMAP_OBJ) $(NSS_INFO_OBJ) \
-               $(RPC_NCACN_NP) $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
+               $(RPC_CONFIG) $(RPC_NCACN_NP) \
+               $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
                $(NPA_TSTREAM_OBJ) \
                $(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \
                $(LIBADS_SERVER_OBJ) \
@@ -1504,10 +1535,11 @@ NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \
                ../lib/util/asn1.o ../libcli/auth/spnego_parse.o libsmb/clikrb5.o ../libcli/auth/krb5_wrap.o libads/kerberos.o \
                libsmb/samlogon_cache.o \
                $(LIBADS_SERVER_OBJ) \
-               $(PASSDB_OBJ) $(LIBTSOCKET_OBJ) $(GROUPDB_OBJ) \
+               $(PASSDB_OBJ) $(GROUPDB_OBJ) \
                $(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
                $(WBCOMMON_OBJ) \
-               $(LIBCLI_LDAP_NDR_OBJ) \
+               $(LIBNBT_OBJ) \
+               $(CLDAP_OBJ) \
                $(DRSUAPI_OBJ) \
                $(LIBNDR_GEN_OBJ0) $(LIBNDR_NETLOGON_OBJ) @BUILD_INIPARSER@
 
@@ -1530,7 +1562,8 @@ RPC_OPEN_TCP_OBJ = torture/rpc_open_tcp.o \
 DBWRAP_TOOL_OBJ = utils/dbwrap_tool.o \
                  $(PARAM_OBJ) \
                  $(LIB_NONSMBD_OBJ) \
-                 $(LIBSMB_ERR_OBJ)
+                 $(LIBSMB_ERR_OBJ) \
+                 $(POPT_LIB_OBJ)
 
 DBWRAP_TORTURE_OBJ = utils/dbwrap_torture.o \
                     $(PARAM_OBJ) \
@@ -1551,7 +1584,7 @@ all:: SHOWFLAGS basics libs $(SBIN_PROGS) $(BIN_PROGS) \
        $(MODULES) $(NSS_MODULES) $(PAM_MODULES) \
        $(EXTRA_ALL_TARGETS)
 
-basics:: samba3-idl
+basics:: samba3-idl mkparam
 
 nss_modules:: $(NSS_MODULES)
 
@@ -1628,11 +1661,26 @@ idl_full::
        @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
         srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh --full $(IDL_FILES)
 
+mkparam: ../lib/param/param_local.h ../lib/param/param_global.h param/param_global.h ../lib/param/param_proto.h ../lib/param/s3_param.h
+
+../lib/param/param_local.h:
+        $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/param_functions.c --file ../lib/param/param_local.h --generate-scope=LOCAL
+../lib/param/param_global.h:
+        $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/loadparm.c --file ../lib/param/param_global.h --generate-scope=GLOBAL
+param/param_global.h:
+        $(PERL) ../script/mkparamdefs.pl $(srcdir)/param/loadparm.c --file param/param_global.h --generate-scope=GLOBAL
+../lib/param/param_proto.h:
+        $(PERL) ../source4/script/mkproto.pl $(srcdir)/../lib/param/loadparm.c --public ../lib/param/param_proto.h  --private ../lib/param/param_proto.h
+../lib/param/s3_param.h:
+        $(PERL) ../script/mks3param.pl $(srcdir)/../lib/param/loadparm.c --file ../lib/param/s3_param.h
+
+
 #####################################################################
 
 
 everything:: all libtalloc libsmbclient libnetapi debug2html smbfilter talloctort replacetort smbconftort modules torture \
-       $(EVERYTHING_PROGS)
+       $(EVERYTHING_PROGS) \
+       vfs_examples
 
 .SUFFIXES:
 .SUFFIXES: .c .o .lo
@@ -1878,7 +1926,7 @@ bin/smbpasswd@EXEEXT@: $(BINARY_PREREQS) $(SMBPASSWD_OBJ) @BUILD_POPT@ $(LIBTALL
                $(DYNEXP) $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS)
 
-bin/pdbedit@EXEEXT@: $(BINARY_PREREQS) $(PDBEDIT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT) $(ZLIB_LIBS)
+bin/pdbedit@EXEEXT@: $(BINARY_PREREQS) $(PDBEDIT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo Linking $@
        @$(CC) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
                $(POPT_LIBS) $(PASSDB_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) \
@@ -1920,7 +1968,7 @@ bin/smbconftort@EXEEXT@: $(SMBCONFTORT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
 
 bin/pthreadpooltest@EXEEXT@: $(PTHREADPOOLTEST_OBJ)
        @echo Linking $@
-       @$(CC) -o $@ $(PTHREADPOOLTEST_OBJ) $(LDFLAGS) -lpthread
+       @$(CC) -o $@ $(PTHREADPOOLTEST_OBJ) $(LDFLAGS) $(LIBS) $(PTHREAD_LDFLAGS)
 
 bin/masktest@EXEEXT@: $(BINARY_PREREQS) $(MASKTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo Linking $@
@@ -1964,9 +2012,10 @@ bin/locktest@EXEEXT@: $(BINARY_PREREQS) $(LOCKTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC
                @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
 
-bin/nsstest@EXEEXT@: $(BINARY_PREREQS) $(NSSTEST_OBJ)
+bin/nsstest@EXEEXT@: $(BINARY_PREREQS) $(NSSTEST_OBJ) $(LIBTALLOC)
        @echo Linking $@
-       @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
+       @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
+               $(LIBTALLOC_LIBS)
 
 bin/pdbtest@EXEEXT@: $(BINARY_PREREQS) $(PDBTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo Linking $@
@@ -2039,8 +2088,8 @@ LIBTALLOC_OBJ = $(LIBTALLOC_OBJ0) $(LIBREPLACE_OBJ)
 LIBTALLOC_SHARED_TARGET=@LIBTALLOC_SHARED_TARGET@
 LIBTALLOC_SOVER=@LIBTALLOC_SOVER@
 LIBTALLOC_FULLVER=@LIBTALLOC_FULLVER@
-LIBTALLOC_SHARED_TARGET_SONAME=$(LIBTALLOC_SHARED_TARGET).$(LIBTALLOC_SOVER)
-LIBTALLOC_SHARED_TARGET_FULLVER=$(LIBTALLOC_SHARED_TARGET).$(LIBTALLOC_FULLVER)
+LIBTALLOC_SHARED_TARGET_SONAME=@LIBTALLOC_SHARED_TARGET_SOVER@
+LIBTALLOC_SHARED_TARGET_FULLVER=@LIBTALLOC_SHARED_TARGET_FULLVER@
 LIBTALLOC_STATIC_TARGET=@LIBTALLOC_STATIC_TARGET@
 LIBTALLOC_SYMS=$(srcdir)/exports/libtalloc.@SYMSEXT@
 LIBTALLOC_HEADERS=$(srcdir)/@tallocdir@/talloc.h
@@ -2130,8 +2179,8 @@ LIBTDB_OBJ = $(LIBTDB_OBJ0) $(LIBREPLACE_OBJ)
 LIBTDB_SHARED_TARGET=@LIBTDB_SHARED_TARGET@
 LIBTDB_SOVER=@LIBTDB_SOVER@
 LIBTDB_FULLVER=@LIBTDB_FULLVER@
-LIBTDB_SHARED_TARGET_SONAME=$(LIBTDB_SHARED_TARGET).$(LIBTDB_SOVER)
-LIBTDB_SHARED_TARGET_FULLVER=$(LIBTDB_SHARED_TARGET).$(LIBTDB_FULLVER)
+LIBTDB_SHARED_TARGET_SONAME=@LIBTDB_SHARED_TARGET_SOVER@
+LIBTDB_SHARED_TARGET_FULLVER=@LIBTDB_SHARED_TARGET_FULLVER@
 LIBTDB_STATIC_TARGET=@LIBTDB_STATIC_TARGET@
 LIBTDB_SYMS=$(srcdir)/exports/libtdb.@SYMSEXT@
 LIBTDB_HEADERS=$(srcdir)/@tdbdir@/include/tdb.h
@@ -2236,7 +2285,7 @@ LIBWBCLIENT_OBJ = $(LIBWBCLIENT_OBJ0) \
 LIBWBCLIENT_SHARED_TARGET=@LIBWBCLIENT_SHARED_TARGET@
 LIBWBCLIENT_SOVER=@LIBWBCLIENT_SOVER@
 LIBWBCLIENT_FULLVER=@LIBWBCLIENT_FULLVER@
-LIBWBCLIENT_SHARED_TARGET_SONAME=$(LIBWBCLIENT_SHARED_TARGET).$(LIBWBCLIENT_SOVER)
+LIBWBCLIENT_SHARED_TARGET_SONAME=@LIBWBCLIENT_SHARED_TARGET_SOVER@
 LIBWBCLIENT_STATIC_TARGET=@LIBWBCLIENT_STATIC_TARGET@
 LIBWBCLIENT_SYMS=$(srcdir)/exports/libwbclient.@SYMSEXT@
 LIBWBCLIENT_HEADERS=$(srcdir)/../nsswitch/libwbclient/wbclient.h
@@ -2316,11 +2365,10 @@ showlibs:: showlibwbclient
 LIBADDNS_SHARED_TARGET=@LIBADDNS_SHARED_TARGET@
 LIBADDNS_SOVER=@LIBADDNS_SOVER@
 LIBADDNS_FULLVER=@LIBADDNS_FULLVER@
-LIBADDNS_SHARED_TARGET_SONAME=$(LIBADDNS_SHARED_TARGET).$(LIBADDNS_SOVER)
+LIBADDNS_SHARED_TARGET_SONAME=@LIBADDNS_SHARED_TARGET_SOVER@
 LIBADDNS_STATIC_TARGET=@LIBADDNS_STATIC_TARGET@
 LIBADDNS=@LIBADDNS_STATIC@ @LIBADDNS_SHARED@
 #LIBADDNS_SYMS=$(srcdir)/exports/libaddns.@SYMSEXT@
-LIBADDNS_HEADERS=$(srcdir)/../lib/addns/addns.h
 
 $(LIBADDNS_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBADDNS_OBJ) $(LIBTALLOC)
        @echo Linking shared library $@
@@ -2425,7 +2473,7 @@ LIBNETAPI_OBJ  = $(LIBNETAPI_OBJ0) $(LIBNET_OBJ) \
 LIBNETAPI_SHARED_TARGET=@LIBNETAPI_SHARED_TARGET@
 LIBNETAPI_SOVER=@LIBNETAPI_SOVER@
 LIBNETAPI_FULLVER=@LIBNETAPI_FULLVER@
-LIBNETAPI_SHARED_TARGET_SONAME=$(LIBNETAPI_SHARED_TARGET).$(LIBNETAPI_SOVER)
+LIBNETAPI_SHARED_TARGET_SONAME=@LIBNETAPI_SHARED_TARGET_SOVER@
 LIBNETAPI_STATIC_TARGET=@LIBNETAPI_STATIC_TARGET@
 LIBNETAPI_SYMS=$(srcdir)/exports/libnetapi.@SYMSEXT@
 LIBNETAPI_HEADERS=$(srcdir)/lib/netapi/netapi.h
@@ -2505,7 +2553,7 @@ showlibs:: showlibnetapi
 LIBSMBCLIENT_SHARED_TARGET=@LIBSMBCLIENT_SHARED_TARGET@
 LIBSMBCLIENT_SOVER=@LIBSMBCLIENT_SOVER@
 LIBSMBCLIENT_FULLVER=@LIBSMBCLIENT_FULLVER@
-LIBSMBCLIENT_SHARED_TARGET_SONAME=$(LIBSMBCLIENT_SHARED_TARGET).$(LIBSMBCLIENT_SOVER)
+LIBSMBCLIENT_SHARED_TARGET_SONAME=@LIBSMBCLIENT_SHARED_TARGET_SOVER@
 LIBSMBCLIENT_STATIC_TARGET=@LIBSMBCLIENT_STATIC_TARGET@
 LIBSMBCLIENT=@LIBSMBCLIENT_STATIC@ @LIBSMBCLIENT_SHARED@
 LIBSMBCLIENT_SYMS=$(srcdir)/exports/libsmbclient.@SYMSEXT@
@@ -2593,7 +2641,7 @@ LIBSMBSHAREMODES_OBJ = $(LIBSMBSHAREMODES_OBJ0)
 LIBSMBSHAREMODES_SHARED_TARGET=@LIBSMBSHAREMODES_SHARED_TARGET@
 LIBSMBSHAREMODES_SOVER=@LIBSMBSHAREMODES_SOVER@
 LIBSMBSHAREMODES_FULLVER=@LIBSMBSHAREMODES_FULLVER@
-LIBSMBSHAREMODES_SHARED_TARGET_SONAME=$(LIBSMBSHAREMODES_SHARED_TARGET).$(LIBSMBSHAREMODES_SOVER)
+LIBSMBSHAREMODES_SHARED_TARGET_SONAME=@LIBSMBSHAREMODES_SHARED_TARGET_SOVER@
 LIBSMBSHAREMODES_STATIC_TARGET=@LIBSMBSHAREMODES_STATIC_TARGET@
 LIBSMBSHAREMODES=@LIBSMBSHAREMODES_STATIC@ @LIBSMBSHAREMODES_SHARED@
 LIBSMBSHAREMODES_SYMS=$(srcdir)/exports/libsmbsharemodes.@SYMSEXT@
@@ -2760,10 +2808,11 @@ bin/winbindd@EXEEXT@: $(BINARY_PREREQS) $(WINBINDD_OBJ) @BUILD_POPT@ $(LIBTALLOC
                $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) \
                $(ZLIB_LIBS)
 
-bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDB)
+bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDB) $(LIBTALLOC)
        @echo "Linking $@"
        @$(CC) -o $@ $(VLP_OBJ) $(LDFLAGS) $(DYNEXP) \
                $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_LIBS) \
+               $(LIBTALLOC_LIBS) \
                $(LIBTDB_LIBS)
 
 @WINBIND_NSS@: $(BINARY_PREREQS) $(WINBIND_NSS_OBJ)
@@ -2882,22 +2931,6 @@ bin/ldap.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ)
        @echo "Building plugin $@"
        @$(SHLD_MODULE) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ)
 
-bin/weird.@SHLIBEXT@: $(BINARY_PREREQS) $(DEVEL_HELP_WEIRD_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(DEVEL_HELP_WEIRD_OBJ)
-
-bin/CP850.@SHLIBEXT@: $(BINARY_PREREQS) $(CP850_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CP850_OBJ)
-
-bin/CP437.@SHLIBEXT@: $(BINARY_PREREQS) $(CP437_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CP437_OBJ)
-
-bin/macosxfs.@SHLIBEXT@: $(BINARY_PREREQS) $(CHARSET_MACOSXFS_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CHARSET_MACOSXFS_OBJ) -framework CoreFoundation
-
 # NOTE, there is no build rule for a dynamic default VFS module because
 # this one MUST MUST MUST be built statically.
 
@@ -3122,14 +3155,14 @@ bin/wbinfo@EXEEXT@: $(BINARY_PREREQS) $(WBINFO_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(
                $(LIBWBCLIENT_LIBS)
 
 bin/ntlm_auth@EXEEXT@: $(BINARY_PREREQS) $(NTLM_AUTH_OBJ) $(PARAM_OBJ) \
-       $(LIB_NONSMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT) $(ZLIB_LIBS)
+       $(LIB_NONSMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo Linking $@
        @$(CC) -o $@ $(LDFLAGS) $(DYNEXP) $(NTLM_AUTH_OBJ) \
                $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBS) $(ZLIB_LIBS) \
                $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) @INIPARSERLIBS@
 
-bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB) $(ZLIB_LIBS)
+bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB)
        @echo "Linking shared library $@"
        @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) -lpam $(DYNEXP) \
                $(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) \
@@ -3196,6 +3229,7 @@ bin/dbwrap_tool@EXEEXT@: $(DBWRAP_TOOL_OBJ) $(LIBTALLOC) $(LIBTDB)
        @$(CC) -o $@ $(DBWRAP_TOOL_OBJ)\
                $(LDFLAGS) $(DYNEXP) $(LIBS) \
                $(LDAP_LIBS) \
+               $(POPT_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
 
 install-dbwrap_tool:: bin/dbwrap_tool@EXEEXT@
@@ -3237,7 +3271,7 @@ install-everything:: install installmodules
 installdirs::
        @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) \
                $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) \
-               $(VARDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) $(STATEDIR) \
+               $(VARDIR) $(PRIVATE_DIR) $(PIDDIR) $(LOCKDIR) $(STATEDIR) \
                $(NMBDSOCKETDIR) \
                $(CACHEDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR) $(LOCALEDIR)
 
@@ -3304,23 +3338,45 @@ installmo:: all installdirs
 
 showlayout::
        @echo "Samba will be installed into:"
-       @echo "  prefix:      $(prefix)"
-       @echo "  bindir:      $(BINDIR)"
-       @echo "  sbindir:     $(SBINDIR)"
-       @echo "  libdir:      $(LIBDIR)"
-       @echo "  modulesdir:  $(MODULESDIR)"
-       @echo "  vardir:      $(VARDIR)"
-       @echo "  mandir:      $(MANDIR)"
-       @echo "  privatedir:  $(PRIVATE_DIR)"
-       @echo "  configdir:   $(CONFIGDIR)"
-       @echo "  lockdir:     $(LOCKDIR)"
-       @echo "  statedir:    $(STATEDIR)"
-       @echo "  cachedir:    $(CACHEDIR)"
-       @echo "  piddir:      $(PIDDIR)"
-       @echo "  nmbdsocketdir: $(NMBSOCKETDIR)"
-       @echo "  swatdir:     $(SWATDIR)"
-       @echo "  datadir:     ${DATADIR}"
-       @echo "  codepagedir: $(CODEPAGEDIR)"
+       @echo " prefix:                $(prefix)"
+       @echo " exec_prefix:           $(exec_prefix)"
+       @echo " sysconfdir:            $(sysconfdir)"
+       @echo " localstatedir:         $(localstatedir)"
+       @echo " datarootdir:           $(datarootdir)"
+       @echo " BINDIR:                $(BINDIR)"
+       @echo " SBINDIR:               $(SBINDIR)"
+       @echo " LIBDIR:                $(LIBDIR)"
+#      @echo " LIBEXECDIR:            $(LIBEXECDIR)"
+       @echo " MANDIR:                $(MANDIR)"
+       @echo " DATADIR:               $(DATADIR)"
+       @echo " LOCALEDIR:             $(LOCALEDIR)"
+#      @echo " SCRIPTSBINDIR:         $(SCRIPTSBINDIR)"
+#      @echo " PYTHONDIR:             $(PYTHONDIR)"
+#      @echo " PYTHONARCHDIR:         $(PYTHONARCHDIR)"
+       @echo " MODULESDIR:            $(MODULESDIR)"
+       @echo " INCLUDEDIR:            $(INCLUDEDIR)"
+       @echo " SETUPDIR:              $(SETUPDIR)"
+#      @echo " PKGCONFIGDIR:          $(PKGCONFIGDIR)"
+       @echo " SWATDIR:               $(SWATDIR)"
+       @echo " CODEPAGEDIR:           $(CODEPAGEDIR)"
+       @echo " PAMMODULESDIR:         $(PAMMODULESDIR)"
+       @echo " CONFIGDIR:             $(CONFIGDIR)"
+       @echo " PRIVATE_DIR:           $(PRIVATE_DIR)"
+       @echo " LOCKDIR:               $(LOCKDIR)"
+       @echo " PIDDIR:                $(PIDDIR)"
+       @echo " STATEDIR:              $(STATEDIR)"
+       @echo " CACHEDIR:              $(CACHEDIR)"
+       @echo " LOGFILEBASE:           $(LOGFILEBASE)"
+       @echo " SOCKET_DIR:            $(SOCKET_DIR)"
+       @echo " PRIVILEGED_SOCKET_DIR: $(PRIVILEGED_SOCKET_DIR)"
+#      @echo " WINBINDD_SOCKET_DIR:   $(WINBINDD_SOCKET_DIR)"
+#      @echo " WINBINDD_PRIVILEGED_SOCKET_DIR: $(WINBINDD_PRIVILEGED_SOCKET_DIR)"
+       @echo " NMBDSOCKETDIR:         $(NMBDSOCKETDIR)"
+#      @echo " NTP_SIGND_SOCKET_DIR:  $(NTP_SIGND_SOCKET_DIR)"
+       @echo " NCALRPCDIR:            $(NCALRPCDIR)"
+       @echo " CONFIGFILE:            $(CONFIGFILE)"
+       @echo " LMHOSTSFILE:           $(LMHOSTSFILE)"
+       @echo " SMB_PASSWD_FILE:       $(SMB_PASSWD_FILE)"
 
 
 uninstall:: uninstallmo uninstallman uninstallservers uninstallbin uninstallscripts uninstalldat uninstallswat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@
@@ -3375,6 +3431,12 @@ cleanlibs::
 clean:: cleanlibs
        -rm -f include/build_env.h
        -rm -f smbd/build_options.c
+       -rm -f param/param_local.h
+       -rm -f param/param_global.h
+       -rm -f ../lib/param/param_local.h
+       -rm -f ../lib/param/param_global.h
+       -rm -f ../lib/param/param_proto.h
+       -rm -f ../lib/param/s3_param.h
        -rm -f $(PRECOMPILED_HEADER)
        -rm -f core */*~ *~ \
                */*.o */*/*.o */*/*/*.o */*/*/*/*.o \
@@ -3559,3 +3621,14 @@ bin/smbtorture4: $(BINARY_PREREQS)
 
 bin/ndrdump4: $(BINARY_PREREQS)
        $(MAKE) -f Makefile-smbtorture4 bin/ndrdump4
+
+.PHONY: vfs_examples
+
+vfs_examples:
+       ( \
+       cd ../examples/VFS && \
+       ./autogen.sh && \
+       ./configure && \
+       make clean && \
+       make \
+       )