s3: OneFS implementation of change notify
[ira/wip.git] / source3 / Makefile.in
index 9147c5289f811a502ac717ccd077f483d7c4f490..2df995fb202eb3d258bdc79fcce15d3b97fd55c8 100644 (file)
@@ -19,6 +19,7 @@ datarootdir=@datarootdir@
 selftest_prefix=@selftest_prefix@
 selftest_shrdir=@selftest_shrdir@
 smbtorture4_path=@smbtorture4_path@
+smbtorture4_option=@smbtorture4_option@
 selftest_custom_conf=@selftest_custom_conf@
 
 LIBS=@LIBS@
@@ -107,6 +108,7 @@ MODULESDIR = @modulesdir@
 INCLUDEDIR=@includedir@
 PAMMODULESDIR = @pammodulesdir@
 VFSLIBDIR = $(MODULESDIR)/vfs
+PERFCOUNTLIBDIR = $(MODULESDIR)/perfcount
 PDBLIBDIR = $(MODULESDIR)/pdb
 RPCLIBDIR = $(MODULESDIR)/rpc
 IDMAPLIBDIR = $(MODULESDIR)/idmap
@@ -219,6 +221,7 @@ NSS_MODULES = @NSS_MODULES@
 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@
@@ -228,7 +231,7 @@ NSS_INFO_MODULES = @NSS_INFO_MODULES@
 GPEXT_MODULES = @GPEXT_MODULES@
 MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) \
           $(CHARSET_MODULES) $(AUTH_MODULES) $(NSS_INFO_MODULES) \
-         $(GPEXT_MODULES)
+         $(GPEXT_MODULES) $(PERFCOUNT_MODULES)
 
 EXTRA_ALL_TARGETS = @EXTRA_ALL_TARGETS@
 
@@ -290,6 +293,9 @@ LIBNDR_GEN_OBJ0 = ../librpc/gen_ndr/ndr_samr.o \
 LIBNDR_GEN_OBJ1 = ../librpc/gen_ndr/ndr_netlogon.o \
                  ../librpc/ndr/ndr_netlogon.o
 
+LIBNDR_GEN_OBJ2 = ../librpc/gen_ndr/ndr_spoolss.o \
+                 ../librpc/ndr/ndr_spoolss_buf.o
+
 LIBNDR_GEN_OBJ = ../librpc/gen_ndr/ndr_wkssvc.o \
                 $(LIBNDR_GEN_OBJ0) \
                 ../librpc/gen_ndr/ndr_dfs.o \
@@ -304,7 +310,8 @@ LIBNDR_GEN_OBJ = ../librpc/gen_ndr/ndr_wkssvc.o \
                 ../librpc/gen_ndr/ndr_xattr.o \
                 ../librpc/gen_ndr/ndr_epmapper.o \
                 ../librpc/gen_ndr/ndr_named_pipe_auth.o \
-                ../librpc/gen_ndr/ndr_ntsvcs.o
+                ../librpc/gen_ndr/ndr_ntsvcs.o \
+                $(LIBNDR_GEN_OBJ2)
 
 RPC_PARSE_OBJ0 = rpc_parse/parse_prs.o rpc_parse/parse_misc.o
 
@@ -416,7 +423,7 @@ LIBNBT_OBJ = ../libcli/nbt/nbtname.o \
 LIBNMB_OBJ = libsmb/unexpected.o libsmb/namecache.o libsmb/nmblib.o \
             libsmb/namequery.o libsmb/conncache.o libads/dns.o
 
-NTERR_OBJ = libsmb/nterr.o
+NTERR_OBJ = libsmb/nterr.o libsmb/smberr.o
 DOSERR_OBJ = ../libcli/util/doserr.o
 ERRORMAP_OBJ = libsmb/errormap.o
 DCE_RPC_ERR_OBJ = ../librpc/rpc/dcerpc_error.o
@@ -444,7 +451,7 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.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/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
+             libsmb/credentials.o libsmb/pwd_cache.o \
             libsmb/clioplock.o libsmb/clirap2.o \
             libsmb/smb_seal.o libsmb/async_smb.o \
             $(LIBSAMBA_OBJ) \
@@ -458,6 +465,7 @@ RPC_CLIENT_OBJ1 = rpc_client/cli_netlogon.o
 LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
               $(RPC_CLIENT_OBJ1) rpc_client/cli_reg.o $(RPC_CLIENT_OBJ) \
               rpc_client/cli_spoolss.o rpc_client/cli_spoolss_notify.o  \
+              rpc_client/init_spoolss.o \
               rpc_client/init_samr.o \
                   librpc/rpc/dcerpc.o \
                   ../librpc/rpc/binding.o
@@ -477,6 +485,7 @@ LIBMSRPC_GEN_OBJ = ../librpc/gen_ndr/cli_lsa.o \
                   ../librpc/gen_ndr/cli_ntsvcs.o \
                   ../librpc/gen_ndr/cli_epmapper.o \
                   ../librpc/gen_ndr/cli_drsuapi.o \
+                  ../librpc/gen_ndr/cli_spoolss.o \
                   $(LIBNDR_GEN_OBJ) \
                   $(RPCCLIENT_NDR_OBJ)
 
@@ -529,6 +538,7 @@ REG_FULL_OBJ = $(REG_SMBCONF_OBJ) \
               registry/reg_perfcount.o \
               registry/reg_util_legacy.o
 
+LIB_EVENTLOG_OBJ = rpc_server/srv_eventlog_lib.o
 
 RPC_LSA_OBJ = rpc_server/srv_lsa_nt.o ../librpc/gen_ndr/srv_lsa.o
 
@@ -562,10 +572,11 @@ RPC_NTSVCS_OBJ = rpc_server/srv_ntsvcs_nt.o \
 
 RPC_DFS_OBJ =  ../librpc/gen_ndr/srv_dfs.o rpc_server/srv_dfs_nt.o
 
-RPC_SPOOLSS_OBJ = rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o
+RPC_SPOOLSS_OBJ = rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o \
+                 ../librpc/gen_ndr/srv_spoolss.o
 
-RPC_EVENTLOG_OBJ = rpc_server/srv_eventlog.o rpc_server/srv_eventlog_nt.o \
-                  rpc_server/srv_eventlog_lib.o ../librpc/gen_ndr/srv_eventlog.o
+RPC_EVENTLOG_OBJ = rpc_server/srv_eventlog_nt.o \
+                  $(LIB_EVENTLOG_OBJ) ../librpc/gen_ndr/srv_eventlog.o
 
 RPC_PIPE_OBJ = rpc_server/srv_pipe_hnd.o \
                rpc_server/srv_pipe.o rpc_server/srv_lsa_hnd.o
@@ -576,7 +587,7 @@ RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ)
 
 RPC_PARSE_OBJ = $(RPC_PARSE_OBJ2) \
                 rpc_parse/parse_spoolss.o \
-               rpc_parse/parse_eventlog.o rpc_parse/parse_buffer.o
+               rpc_parse/parse_buffer.o
 
 RPC_CLIENT_OBJ = rpc_client/cli_pipe.o rpc_client/rpc_transport_np.o \
        rpc_client/rpc_transport_sock.o rpc_client/rpc_transport_smbd.o
@@ -610,7 +621,8 @@ PROFILES_OBJ = utils/profiles.o \
                $(LIB_OBJ) $(LIB_DUMMY_OBJ) \
                $(POPT_LIB_OBJ)
 
-OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o
+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
 
@@ -654,7 +666,11 @@ VFS_ACL_XATTR_OBJ = modules/vfs_acl_xattr.o
 VFS_ACL_TDB_OBJ = modules/vfs_acl_tdb.o
 VFS_SMB_TRAFFIC_ANALYZER_OBJ = modules/vfs_smb_traffic_analyzer.o
 VFS_ONEFS_OBJ = modules/vfs_onefs.o modules/onefs_acl.o modules/onefs_system.o \
-               modules/onefs_open.o modules/onefs_streams.o
+               modules/onefs_open.o modules/onefs_streams.o modules/onefs_dir.c \
+               modules/onefs_cbrl.o modules/onefs_notify.o
+VFS_ONEFS_SHADOW_COPY_OBJ = modules/vfs_onefs_shadow_copy.o modules/onefs_shadow_copy.o
+PERFCOUNT_ONEFS_OBJ = modules/perfcount_onefs.o
+PERFCOUNT_TEST_OBJ = modules/perfcount_test.o
 
 PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
 
@@ -690,7 +706,7 @@ SMBD_OBJ_SRV = smbd/files.o smbd/chgpasswd.o smbd/connection.o \
                smbd/reply.o smbd/sesssetup.o smbd/trans2.o smbd/uid.o \
               smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o \
               smbd/blocking.o smbd/sec_ctx.o smbd/srvstr.o \
-              smbd/vfs.o smbd/statcache.o smbd/seal.o \
+              smbd/vfs.o smbd/perfcount.o smbd/statcache.o smbd/seal.o \
                smbd/posix_acls.o lib/sysacls.o $(SERVER_MUTEX_OBJ) \
               smbd/process.o smbd/service.o smbd/error.o \
               printing/printfsp.o lib/sysquotas.o lib/sysquotas_linux.o \
@@ -895,7 +911,8 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.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 \
-          auth/token_util.o utils/net_dom.o utils/net_share.o utils/net_lua.o
+          auth/token_util.o utils/net_dom.o utils/net_share.o utils/net_lua.o \
+          utils/net_eventlog.o
 
 # these are not processed by make proto
 NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
@@ -913,7 +930,8 @@ NET_OBJ = $(NET_OBJ1) \
          $(REG_SMBCONF_OBJ) @LIBNETAPI_STATIC@ $(LIBNET_OBJ) \
          $(LIBSMBCONF_OBJ) \
          @LIBWBCLIENT_STATIC@ \
-         $(PRIVILEGES_BASIC_OBJ) @LIBLUA_LIBS@
+         $(PRIVILEGES_BASIC_OBJ) @LIBLUA_STATIC@ \
+         $(LIB_EVENTLOG_OBJ)
 
 CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
          $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
@@ -934,6 +952,7 @@ SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/uta
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) \
        $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
        lib/wb_reqtrans.o lib/wbclient.o \
+       @LIBWBCLIENT_STATIC@ \
        $(LIBNDR_GEN_OBJ0)
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
@@ -982,7 +1001,9 @@ EVTLOGADM_OBJ0     = utils/eventlogadm.o
 
 EVTLOGADM_OBJ  = $(EVTLOGADM_OBJ0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
                $(LIBSAMBA_OBJ) \
-               registry/reg_eventlog.o rpc_server/srv_eventlog_lib.o
+               registry/reg_eventlog.o $(LIB_EVENTLOG_OBJ) \
+               ../librpc/gen_ndr/ndr_eventlog.o \
+               ../librpc/gen_ndr/ndr_lsa.o
 
 SHARESEC_OBJ0 = utils/sharesec.o
 SHARESEC_OBJ  = $(SHARESEC_OBJ0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
@@ -1455,11 +1476,11 @@ bin/nmblookup@EXEEXT@: $(BINARY_PREREQS) $(NMBLOOKUP_OBJ) @BUILD_POPT@ @LIBTALLO
        @$(CC) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
                $(POPT_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
 
-bin/smbtorture@EXEEXT@: $(BINARY_PREREQS) $(SMBTORTURE_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
+bin/smbtorture@EXEEXT@: $(BINARY_PREREQS) $(SMBTORTURE_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
        @echo Linking $@
        @$(CC) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(DYNEXP) \
                $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) \
-               $(LIBTDB_LIBS) $(ZLIB_LIBS)
+               $(LIBTDB_LIBS) $(ZLIB_LIBS) $(WINBIND_LIBS)
 
 bin/talloctort@EXEEXT@: $(BINARY_PREREQS) $(TALLOCTORT_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
        @echo Linking $@
@@ -1633,7 +1654,7 @@ $(LIBTALLOC_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBTALLOC_OBJ) $(LIBTALLO
 
 $(LIBTALLOC_SHARED_TARGET): $(LIBTALLOC_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` $@
 
 $(LIBTALLOC_STATIC_TARGET): $(BINARY_PREREQS) $(LIBTALLOC_OBJ0)
        @echo Linking non-shared library $@
@@ -1653,7 +1674,7 @@ installlibtalloc:: installdirs libtalloc
        -$(INSTALLLIBCMD_SH) $(LIBTALLOC_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)`
        -if test -r $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBTALLOC_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -1699,7 +1720,7 @@ $(LIBTDB_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBTDB_OBJ) $(LIBTDB_SYMS)
 
 $(LIBTDB_SHARED_TARGET): $(LIBTDB_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBTDB_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBTDB_SHARED_TARGET_SONAME)` $@
 
 $(LIBTDB_STATIC_TARGET): $(BINARY_PREREQS) $(LIBTDB_OBJ0)
        @echo Linking non-shared library $@
@@ -1720,7 +1741,7 @@ installlibtdb:: installdirs libtdb
        -$(INSTALLLIBCMD_SH) $(LIBTDB_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)`
        -if test -r $(LIBTDB_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBTDB_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBTDB_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBTDB_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -1774,7 +1795,7 @@ $(LIBWBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ) $(LIBW
 
 $(LIBWBCLIENT_SHARED_TARGET): $(LIBWBCLIENT_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` $@
 
 $(LIBWBCLIENT_STATIC_TARGET): $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ0) $(WBCOMMON_OBJ)
        @echo Linking non-shared library $@
@@ -1794,7 +1815,7 @@ installlibwbclient:: installdirs libwbclient
        -$(INSTALLLIBCMD_SH) $(LIBWBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)`
        -if test -r $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` ; \
        fi
        @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include
@@ -1835,7 +1856,7 @@ $(LIBADDNS_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBADDNS_OBJ) @LIBTALLOC_S
 
 $(LIBADDNS_SHARED_TARGET): $(LIBADDNS_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBADDNS_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBADDNS_SHARED_TARGET_SONAME)` $@
 
 $(LIBADDNS_STATIC_TARGET): $(BINARY_PREREQS) $(LIBADDNS_OBJ0)
        @echo Linking non-shared library $@
@@ -1854,7 +1875,7 @@ installlibaddns:: installdirs libaddns
        -$(INSTALLLIBCMD_SH) $(LIBADDNS_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)`
        -if test -r $(LIBADDNS_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBADDNS_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBADDNS_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBADDNS_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -1921,7 +1942,7 @@ $(LIBNETAPI_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBNETAPI_OBJ) $(LIBNETAP
 
 $(LIBNETAPI_SHARED_TARGET): $(LIBNETAPI_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` $@
 
 $(LIBNETAPI_STATIC_TARGET): $(BINARY_PREREQS) $(LIBNETAPI_OBJ0)
        @echo Linking non-shared library $@
@@ -1941,7 +1962,7 @@ installlibnetapi:: installdirs libnetapi
        -$(INSTALLLIBCMD_SH) $(LIBNETAPI_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)`
        -if test -r $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBNETAPI_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -2005,7 +2026,7 @@ installlibsmbclient:: installdirs libsmbclient
        -$(INSTALLLIBCMD_SH) $(LIBSMBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)`
        -if test -r $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBSMBCLIENT_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -2058,7 +2079,7 @@ $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBSHAREMODES_O
 
 $(LIBSMBSHAREMODES_SHARED_TARGET): $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` $@
 
 $(LIBSMBSHAREMODES_STATIC_TARGET): $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ0)
        @echo Linking non-shared library $@
@@ -2077,7 +2098,7 @@ installlibsmbsharemodes:: installdirs libsmbsharemodes
        -$(INSTALLLIBCMD_SH) $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)`
        -if test -r $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBSMBSHAREMODES_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -2155,7 +2176,7 @@ $(LIBLUA_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBLUA_OBJ) $(LIBLUA_SYMS) @
 
 $(LIBLUA_SHARED_TARGET): $(LIBLUA_SHARED_TARGET_SONAME)
        @rm -f $@
-       @ln -s -f `basename $(LIBLUA_SHARED_TARGET_SONAME)` $@
+       @ln -f -s `basename $(LIBLUA_SHARED_TARGET_SONAME)` $@
 
 $(LIBLUA_STATIC_TARGET): $(BINARY_PREREQS) $(LIBLUA_OBJ0)
        @echo Linking non-shared library $@
@@ -2174,7 +2195,7 @@ installliblua:: installdirs liblua
        -$(INSTALLLIBCMD_SH) $(LIBLUA_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
        @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBLUA_SHARED_TARGET)`
        -if test -e $(LIBLUA_SHARED_TARGET_SONAME) ; then \
-               ln -s -f `basename $(LIBLUA_SHARED_TARGET_SONAME)` \
+               ln -f -s `basename $(LIBLUA_SHARED_TARGET_SONAME)` \
                        $(DESTDIR)$(LIBDIR)/`basename $(LIBLUA_SHARED_TARGET)` ; \
        fi
        -$(INSTALLLIBCMD_A) $(LIBLUA_STATIC_TARGET) $(DESTDIR)$(LIBDIR)
@@ -2244,7 +2265,7 @@ bin/librpc_dssetup.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_DSSETUP_OBJ)
        @echo "Linking $@"
        @$(SHLD_MODULE) $(RPC_DSSETUP_OBJ)
 
-bin/librpc_spoolss.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SPOOLSS_OBJ)
+bin/librpc_spoolss2.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SPOOLSS_OBJ)
        @echo "Linking $@"
        @$(SHLD_MODULE) $(RPC_SPOOLSS_OBJ)
 
@@ -2540,6 +2561,18 @@ bin/onefs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ONEFS_OBJ)
        @echo "Building plugin $@"
        @$(SHLD_MODULE) $(VFS_ONEFS_OBJ) @ONEFS_LIBS@
 
+bin/onefs_shadow_copy.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ONEFS_SHADOW_COPY_OBJ)
+       @echo "Building plugin $@"
+       @$(SHLD_MODULE) $(VFS_ONEFS_SHADOW_COPY_OBJ)
+
+bin/pc_onefs.@SHLIBEXT@: $(BINARY_PREREQS) $(PERFCOUNT_ONEFS_OBJ)
+       @echo "Building plugin $@"
+       @$(SHLD_MODULE) $(PERFCOUNT_ONEFS_OBJ)
+
+bin/pc_test.@SHLIBEXT@: $(BINARY_PREREQS) $(PERFCOUNT_TEST_OBJ)
+       @echo "Building plugin $@"
+       @$(SHLD_MODULE) $(PERFCOUNT_TEST_OBJ)
+
 bin/registry.@SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/registry.o
        @echo "Building plugin $@"
        @$(SHLD_MODULE) libgpo/gpext/registry.o
@@ -2676,6 +2709,7 @@ installmodules:: modules installdirs
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(CHARSETLIBDIR) $(CHARSET_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(AUTHLIBDIR) $(AUTH_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(GPEXTLIBDIR) $(GPEXT_MODULES)
+       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PERFCOUNTLIBDIR) $(PERFCOUNT_MODULES)
        @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.@SHLIBEXT@ NDS_ldapsam.@SHLIBEXT@
        @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.@SHLIBEXT@ NDS_ldapsam_compat.@SHLIBEXT@
        @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.@SHLIBEXT@ ldapsam_compat.@SHLIBEXT@
@@ -2767,6 +2801,7 @@ uninstallmodules::
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(CHARSETLIBDIR) $(CHARSET_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(AUTHLIBDIR) $(AUTH_MODULES)
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(GPEXTLIBDIR) $(GPEXT_MODULES)
+       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PERFCOUNTLIBDIR) $(PERFCOUNT_MODULES)
 
 uninstallscripts::
        @$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS_BIN) $(DESTDIR)$(BINDIR) $(SCRIPTS)
@@ -2791,7 +2826,8 @@ TOPFILES=dynconfig.o localedir.o
 
 cleanlibs::
        -rm -f ../lib/*/*.o ../lib/*/*/*.o \
-               ../libcli/*.o ../libcli/*/*.o
+               ../libcli/*.o ../libcli/*/*.o \
+               ../librpc/*/*.o
 
 clean:: cleanlibs
        -rm -f include/build_env.h
@@ -2800,15 +2836,13 @@ clean:: cleanlibs
        -rm -f core */*~ *~ \
                */*.o */*/*.o */*/*/*.o \
                ../testsuite/*/*.o \
+               ../nsswitch/*.o ../nsswitch/*/*.o ../nsswitch/*.@SHLIBEXT@ \
                */*.@SHLIBEXT@ */*/*.@SHLIBEXT@ */*/*/*.@SHLIBEXT@ \
                $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(ROOT_SBIN_PROGS) \
                $(MODULES) $(TORTURE_PROGS) \
                $(EVERYTHING_PROGS) \
                bin/timelimit \
-               .headers.stamp */src/*.o \
-               ../lib/*/*.o \
-               ../libcli/*.o ../libcli/*/*.o \
-               ../librpc/*/*.o
+               .headers.stamp */src/*.o
        -rm -rf t_dir
 
 include/build_env.h: script/build_env.sh
@@ -2819,42 +2853,7 @@ include/build_env.h: script/build_env.sh
 proto::
 
 etags::
-       etags `find $(srcdir) -name "*.[ch]"`
-       etags --append `find $(srcdir)/../lib -name "*.[ch]"`
-       etags --append `find $(srcdir)/../librpc -name "*.[ch]"`
-       etags --append `find $(srcdir)/../libcli -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/client -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/auth -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/rpc_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/kdc -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/winbind -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/scripting -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/heimdal_build -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/libcli -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/ntp_signd -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/ldap_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/smb_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/include -name "*.[ch]"`
-       etags --append `find $(srcdir)/../nsswitch -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/cldap_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/utils -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/librpc -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/libnet -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/web_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/heimdal -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/wrepl_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/dynconfig -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/param -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/lib -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/nbt_server -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/build -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/ntvfs -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/torture -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/cluster -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/ntptr -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/smbd -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/script -name "*.[ch]"`
-       etags --append `find $(srcdir)/../source4/dsdb -name "*.[ch]"`
+       find $(srcdir)/.. -name "*.[ch]" | xargs -n 100 etags --append
 
 ctags::
        ctags `find $(srcdir)/.. -name "*.[ch]" | grep -v include/proto\.h`
@@ -2932,7 +2931,7 @@ test_pam_modules:: pam_modules
 ## Targets for 'make test'
 ##
 
-TEST_EXTRA_ARGS = ${smbtorture4_path} ${selftest_shrdir} ${selftest_custom_conf}
+TEST_EXTRA_ARGS = ${smbtorture4_option} ${selftest_shrdir} ${selftest_custom_conf}
 
 test:: all torture timelimit
        @echo Running Test suite
@@ -2953,7 +2952,9 @@ selftestdir = ../selftest
 S3_LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)="$(builddir)/bin"
 
 selftest:: all torture timelimit
-       @$(S3_LD_LIBPATH_OVERRIDE) PERL="$(PERL)" \
+       @LIB_PATH_VAR=$(LIB_PATH_VAR) $(S3_LD_LIBPATH_OVERRIDE) \
+               SAMBA4SHAREDDIR="$(builddir)/bin/shared" SMBTORTURE4=$(smbtorture4_path) \
+               PERL="$(PERL)" PYTHON="$(PYTHON)" \
                $(PERL) $(selftestdir)/selftest.pl \
                --prefix=${selftest_prefix} --target=samba3 \
                --testlist="$(srcdir)/selftest/tests.sh|" \