CFLAGS=@CFLAGS@
CPP=@CPP@
CPPFLAGS=-DHAVE_CONFIG_H @CPPFLAGS@
+PICFLAG=@PICFLAG@
EXEEXT=@EXEEXT@
AR=@AR@
-LDSHFLAGS=@LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@
-LDSHFLAGS_MODULES=@LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_NODEFS@
+LDSHFLAGS=$(PICFLAG) @LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@
+LDSHFLAGS_MODULES=$(PICFLAG) @LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_NODEFS@
LDFLAGS=@PIE_LDFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@
-WINBIND_NSS_LDSHFLAGS=@WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@
+WINBIND_NSS_LDSHFLAGS=$(PICFLAG) @WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@
AWK=@AWK@
-PICFLAG=@PICFLAG@
DYNEXP=@DYNEXP@
PERL=@PERL@
LIBDL=@LIBDL@
LIBREPLACE_LIBS=@LIBREPLACE_LIBS@
LIBTDB=@LIBTDB_STATIC@ @LIBTDB_SHARED@
LIBTDB_LIBS=@LIBTDB_LIBS@
+TDB_DEPS=@TDB_DEPS@
LIBNETAPI=@LIBNETAPI_STATIC@ @LIBNETAPI_SHARED@
LIBNETAPI_LIBS=@LIBNETAPI_LIBS@
LIBSMBCLIENT_LIBS=@LIBSMBCLIENT_LIBS@
LIBNDR_GEN_OBJ0 = librpc/gen_ndr/ndr_samr.o \
librpc/gen_ndr/ndr_lsa.o
-LIBNDR_GEN_OBJ1 = librpc/gen_ndr/ndr_netlogon.o \
+LIBNDR_NETLOGON_OBJ = librpc/gen_ndr/ndr_netlogon.o \
../librpc/ndr/ndr_netlogon.o
-LIBNDR_GEN_OBJ2 = librpc/gen_ndr/ndr_spoolss.o \
+LIBNDR_SCHANNEL_OBJ = librpc/gen_ndr/ndr_schannel.o \
+ ../librpc/ndr/ndr_schannel.o
+
+LIBNDR_SPOOLSS_OBJ = librpc/gen_ndr/ndr_spoolss.o \
../librpc/ndr/ndr_spoolss_buf.o
+LIBNDR_NTPRINTING_OBJ = librpc/gen_ndr/ndr_ntprinting.o \
+ ../librpc/ndr/ndr_ntprinting.o \
+
+LIBNDR_PREG_OBJ = librpc/gen_ndr/ndr_preg.o \
+ librpc/ndr/ndr_preg.o
+
+LIBNDR_XATTR_OBJ = librpc/gen_ndr/ndr_xattr.o \
+ ../librpc/ndr/ndr_xattr.o
+
LIBNDR_GEN_OBJ = librpc/gen_ndr/ndr_wkssvc.o \
$(LIBNDR_GEN_OBJ0) \
librpc/gen_ndr/ndr_dfs.o \
librpc/gen_ndr/ndr_initshutdown.o \
librpc/gen_ndr/ndr_srvsvc.o \
librpc/gen_ndr/ndr_eventlog.o \
- $(LIBNDR_GEN_OBJ1) \
+ $(LIBNDR_NETLOGON_OBJ) \
librpc/gen_ndr/ndr_dssetup.o \
librpc/gen_ndr/ndr_notify.o \
- librpc/gen_ndr/ndr_xattr.o \
- ../librpc/ndr/ndr_xattr.o \
+ $(LIBNDR_XATTR_OBJ) \
librpc/gen_ndr/ndr_epmapper.o \
librpc/gen_ndr/ndr_named_pipe_auth.o \
librpc/gen_ndr/ndr_ntsvcs.o \
- $(LIBNDR_GEN_OBJ2)
-
-RPC_PARSE_OBJ0 = rpc_parse/parse_prs.o rpc_parse/parse_misc.o
+ $(LIBNDR_SPOOLSS_OBJ)
# this includes only the low level parse code, not stuff
# that requires knowledge of security contexts
-RPC_PARSE_OBJ1 = $(RPC_PARSE_OBJ0)
+REG_PARSE_PRS_OBJ = registry/reg_parse_prs.o
-RPC_PARSE_OBJ2 = rpc_parse/parse_rpc.o \
- rpc_client/init_netlogon.o \
+RPC_PARSE_OBJ = rpc_client/init_netlogon.o \
rpc_client/init_lsa.o
LIBREPLACE_OBJ = @LIBREPLACE_OBJS@
lib/interfaces.o lib/memcache.o \
lib/talloc_dict.o \
lib/serverid.o \
+ lib/util_sconn.o \
lib/util_transfer_file.o ../lib/async_req/async_sock.o \
$(TDB_LIB_OBJ) \
$(VERSION_OBJ) lib/charcnv.o lib/debug.o lib/fault.o \
lib/wins_srv.o \
lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_uuid.o \
lib/util_unistr.o lib/util_file.o \
- lib/util.o lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
+ 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/tallocmsg.o lib/dmallocmsg.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/server_contexts.o \
lib/ldap_escape.o @CHARSET_STATIC@ \
lib/secdesc.o lib/util_seaccess.o ../libcli/security/secace.o \
../libcli/security/sddl.o \
# Be sure to include them into your application
POPT_LIB_OBJ = lib/popt_common.o
-PARAM_WITHOUT_REG_OBJ = dynconfig.o param/loadparm.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o
+PARAM_WITHOUT_REG_OBJ = dynconfig.o param/loadparm.o param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o
PARAM_REG_ADD_OBJ = $(REG_SMBCONF_OBJ) $(LIBSMBCONF_OBJ) $(PRIVILEGES_BASIC_OBJ)
PARAM_OBJ = $(PARAM_WITHOUT_REG_OBJ) $(PARAM_REG_ADD_OBJ)
$(GPEXT_OBJ)
LIBGPO_OBJ = $(LIBGPO_OBJ0)
-LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o \
+LIBADS_OBJ = libads/ldap.o \
libads/sasl.o libads/sasl_wrapping.o \
- libads/krb5_setpw.o libads/ldap_user.o \
+ libads/krb5_setpw.o \
+ libads/kerberos_util.o \
+ libads/ldap_user.o \
libads/ads_struct.o libads/kerberos_keytab.o \
libads/disp_sec.o libads/ads_utils.o libads/ldap_utils.o \
libads/ldap_schema.o libads/util.o libads/ndr.o
../librpc/ndr/ndr_krb5pac.o \
librpc/gen_ndr/ndr_krb5pac.o
+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
LIBSMB_ERR_OBJ1 = ../libcli/auth/smbdes.o ../libcli/auth/smbencrypt.o ../libcli/auth/msrpc_parse.o ../libcli/auth/session.o
LIBSMB_ERR_OBJ = $(LIBSMB_ERR_OBJ0) $(LIBSMB_ERR_OBJ1) \
- $(RPC_PARSE_OBJ1) \
+ $(REG_PARSE_PRS_OBJ) \
$(SECRETS_OBJ)
LIBSMB_OBJ0 = \
../libcli/auth/ntlm_check.o \
libsmb/ntlmssp.o \
- libsmb/ntlmssp_sign.o \
+ libsmb/ntlmssp_wrap.o \
+ ../libcli/auth/ntlmssp.o \
+ ../libcli/auth/ntlmssp_sign.o \
$(LIBNDR_NTLMSSP_OBJ) \
- ../libcli/auth/ntlmssp_ndr.o
+ ../libcli/auth/ntlmssp_ndr.o \
+ ../libcli/auth/ntlmssp_server.o
LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \
$(LIBSMB_ERR_OBJ)
SCHANNEL_OBJ = ../libcli/auth/credentials.o \
../libcli/auth/schannel_sign.o \
../libcli/auth/schannel_state_tdb.o \
- librpc/gen_ndr/ndr_schannel.o \
- ../librpc/ndr/ndr_schannel.o
+ $(LIBNDR_SCHANNEL_OBJ)
LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
libsmb/clikrb5.o libsmb/clispnego.o \
rpc_client/init_samr.o \
../librpc/rpc/binding.o
+DCERPC_CLIENT_GEN_OBJ = \
+ librpc/gen_ndr/ndr_lsa_c.o \
+ librpc/gen_ndr/ndr_dfs_c.o \
+ librpc/gen_ndr/ndr_echo_c.o \
+ librpc/gen_ndr/ndr_srvsvc_c.o \
+ librpc/gen_ndr/ndr_svcctl_c.o \
+ librpc/gen_ndr/ndr_winreg_c.o \
+ librpc/gen_ndr/ndr_initshutdown_c.o \
+ librpc/gen_ndr/ndr_eventlog_c.o \
+ librpc/gen_ndr/ndr_wkssvc_c.o \
+ librpc/gen_ndr/ndr_netlogon_c.o \
+ librpc/gen_ndr/ndr_samr_c.o \
+ librpc/gen_ndr/ndr_dssetup_c.o \
+ librpc/gen_ndr/ndr_ntsvcs_c.o \
+ librpc/gen_ndr/ndr_epmapper_c.o \
+ librpc/gen_ndr/ndr_drsuapi_c.o \
+ librpc/gen_ndr/ndr_spoolss_c.o
+
LIBMSRPC_GEN_OBJ = librpc/gen_ndr/cli_lsa.o \
librpc/gen_ndr/cli_dfs.o \
librpc/gen_ndr/cli_echo.o \
librpc/gen_ndr/cli_epmapper.o \
librpc/gen_ndr/cli_drsuapi.o \
librpc/gen_ndr/cli_spoolss.o \
+ $(DCERPC_CLIENT_GEN_OBJ) \
+ ../librpc/rpc/dcerpc_util.o \
+ ../librpc/rpc/binding_handle.o \
+ librpc/rpc/dcerpc_helpers.o \
$(LIBNDR_GEN_OBJ) \
$(RPCCLIENT_NDR_OBJ)
# registry-related objects
#
UTIL_REG_OBJ = ../libcli/registry/util_reg.o
-UTIL_REG_API_OBJ = lib/util_reg_api.o
REG_INIT_BASIC_OBJ = registry/reg_init_basic.o
REG_INIT_SMBCONF_OBJ = registry/reg_init_smbconf.o
registry/reg_cachehook.o \
$(REGFIO_OBJ) \
$(REGOBJS_OBJ) \
- registry/reg_util.o \
- $(UTIL_REG_API_OBJ) \
+ registry/reg_util_internal.o \
lib/util_nttoken.o \
$(REG_BACKENDS_BASE_OBJ) \
$(REG_INIT_BASIC_OBJ)
REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \
+ registry/reg_util_token.o \
$(REG_BACKENDS_SMBCONF_OBJ) \
$(REG_INIT_SMBCONF_OBJ)
RPC_SAMR_OBJ = rpc_server/srv_samr_nt.o \
rpc_server/srv_samr_util.o \
+ rpc_server/srv_samr_chgpasswd.o \
librpc/gen_ndr/srv_samr.o
RPC_INITSHUTDOWN_OBJ = librpc/gen_ndr/srv_initshutdown.o rpc_server/srv_initshutdown_nt.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
+NPA_TSTREAM_OBJ = ../libcli/named_pipe_auth/npa_tstream.o
-RPC_ECHO_OBJ = rpc_server/srv_echo_nt.o librpc/gen_ndr/srv_echo.o
+RPC_NCACN_NP_INTERNAL = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np_internal.o \
+ rpc_server/rpc_handles.o
-RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ)
+RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \
+ $(RPC_NCACN_NP_INTERNAL)
-RPC_PARSE_OBJ = $(RPC_PARSE_OBJ2)
+RPC_ECHO_OBJ = rpc_server/srv_echo_nt.o librpc/gen_ndr/srv_echo.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
+RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ) $(NPA_TSTREAM_OBJ)
+
+RPC_CLIENT_OBJ = rpc_client/cli_pipe.o \
+ librpc/rpc/dcerpc_gssapi.o \
+ librpc/rpc/dcerpc_spnego.o \
+ librpc/rpc/rpc_common.o \
+ rpc_client/rpc_transport_np.o \
+ rpc_client/rpc_transport_sock.o \
+ rpc_client/rpc_transport_smbd.o
LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
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
PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
auth/server_info.o \
auth/server_info_sam.o \
auth/user_info.o \
+ auth/user_util.o \
auth/auth_compat.o auth/auth_ntlmssp.o \
$(PLAINTEXT_AUTH_OBJ) $(SLCACHE_OBJ) $(DCUTIL_OBJ)
MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_hash2.o
-SMBD_OBJ_MAIN = smbd/server.o
+SMBD_OBJ_MAIN = smbd/server.o smbd/server_exit.o
BUILDOPT_OBJ = smbd/build_options.o
-SMBD_OBJ_SRV = smbd/files.o smbd/chgpasswd.o smbd/connection.o \
- smbd/utmp.o smbd/session.o smbd/map_username.o \
+SMBD_OBJ_SRV = smbd/server_reload.o \
+ smbd/files.o smbd/connection.o \
+ smbd/utmp.o smbd/session.o \
smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o \
smbd/share_access.o smbd/fileio.o \
smbd/ipc.o smbd/lanman.o smbd/negprot.o \
smbd/vfs.o smbd/perfcount.o smbd/statcache.o smbd/seal.o \
smbd/posix_acls.o lib/sysacls.o \
smbd/process.o smbd/service.o smbd/error.o \
- printing/printfsp.o lib/sysquotas.o lib/sysquotas_linux.o \
+ printing/printspoolss.o \
+ lib/sysquotas.o lib/sysquotas_linux.o \
lib/sysquotas_xfs.o lib/sysquotas_4A.o \
- smbd/change_trust_pw.o smbd/fake_file.o \
+ smbd/fake_file.o \
smbd/quotas.o smbd/ntquotas.o $(AFS_OBJ) smbd/msdfs.o \
$(AFS_SETTOKEN_OBJ) smbd/aio.o smbd/statvfs.o \
smbd/dmapi.o smbd/signing.o \
$(LIB_OBJ) $(PRINTBACKEND_OBJ) $(OPLOCK_OBJ) \
$(NOTIFY_OBJ) $(FNAME_UTIL_OBJ) $(GROUPDB_OBJ) $(AUTH_OBJ) \
$(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(AVAHI_OBJ) \
- $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) \
+ $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) $(LIBADS_PRINTER_OBJ) \
$(REG_FULL_OBJ) $(POPT_LIB_OBJ) $(BUILDOPT_OBJ) \
$(SMBLDAP_OBJ) $(LIBNET_OBJ) \
$(LIBSMBCONF_OBJ) \
printing/print_iprint.o printing/print_standard.o
PRINTBASE_OBJ = printing/notify.o printing/printing_db.o
-PRINTBACKEND_OBJ = printing/printing.o printing/nt_printing.o $(PRINTBASE_OBJ)
+PRINTBACKEND_OBJ = printing/printing.o \
+ printing/nt_printing.o \
+ printing/nt_printing_tdb.o \
+ printing/nt_printing_migrate.o \
+ printing/nt_printing_ads.o \
+ librpc/gen_ndr/ndr_ntprinting.o \
+ ../librpc/ndr/ndr_ntprinting.o \
+ $(PRINTBASE_OBJ)
SMBD_OBJ = $(SMBD_OBJ_BASE) $(SMBD_OBJ_MAIN)
SMBTREE_OBJ = utils/smbtree.o $(PARAM_OBJ) \
$(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_OBJ) \
$(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
- $(RPC_CLIENT_OBJ) ../librpc/rpc/binding.o $(RPC_PARSE_OBJ2) \
+ $(RPC_CLIENT_OBJ) ../librpc/rpc/binding.o $(RPC_PARSE_OBJ) \
$(RPC_CLIENT_OBJ1) \
$(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \
$(LIBMSRPC_GEN_OBJ)
../librpc/rpc/binding.o \
client/dnsbrowse.o \
$(RPC_CLIENT_OBJ1) \
- $(RPC_PARSE_OBJ2)
+ $(RPC_PARSE_OBJ)
CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) \
$(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(LIBMSRPC_GEN_OBJ) \
utils/net_serverid.o \
utils/net_eventlog.o \
utils/net_printing.o \
- librpc/gen_ndr/ndr_ntprinting.o \
- ../librpc/ndr/ndr_ntprinting.o
+ $(LIBNDR_NTPRINTING_OBJ) \
+ $(LIBNDR_PREG_OBJ)
+
# these are not processed by make proto
NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
$(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
$(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(LIBADDNS_OBJ0) \
$(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
- $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(POPT_LIB_OBJ) \
+ $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(LIBADS_PRINTER_OBJ) $(POPT_LIB_OBJ) \
$(SMBLDAP_OBJ) $(DCUTIL_OBJ) \
$(AFS_OBJ) $(AFS_SETTOKEN_OBJ) $(READLINE_OBJ) \
$(LIBGPO_OBJ) @BUILD_INIPARSER@ $(DISPLAY_SEC_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_posix_append.o
SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
$(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(RPC_PARSE_OBJ) \
$(PASSDB_OBJ) $(GROUPDB_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
- $(POPT_LIB_OBJ) $(DCUTIL_OBJ) $(LIBADS_OBJ) $(SMBLDAP_OBJ)
+ $(POPT_LIB_OBJ) $(SMBLDAP_OBJ)
SMBCQUOTAS_OBJ = utils/smbcquotas.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
$(PARAM_OBJ) \
WINBINDD_OBJ1 = \
winbindd/winbindd.o \
- winbindd/winbindd_event.o \
winbindd/winbindd_group.o \
winbindd/winbindd_util.o \
winbindd/winbindd_cache.o \
winbindd/winbindd_misc.o \
winbindd/winbindd_cm.o \
winbindd/winbindd_wins.o \
+ winbindd/winbindd_msrpc.o \
winbindd/winbindd_rpc.o \
winbindd/winbindd_reconnect.o \
winbindd/winbindd_ads.o \
- winbindd/winbindd_passdb.o \
+ winbindd/winbindd_samr.o \
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 \
winbindd/winbindd_async.o \
winbindd/winbindd_check_machine_acct.o \
winbindd/winbindd_change_machine_acct.o \
winbindd/winbindd_ping_dc.o \
- winbindd/winbindd_set_mapping.o \
winbindd/winbindd_remove_mapping.o \
- winbindd/winbindd_set_hwm.o \
winbindd/winbindd_pam_auth.o \
winbindd/winbindd_pam_auth_crap.o \
winbindd/winbindd_pam_chauthtok.o \
winbindd/winbindd_pam_chng_pswd_auth_crap.o \
winbindd/winbindd_pam_logoff.o \
+ auth/auth_util.o \
auth/token_util.o \
+ auth/user_util.o \
auth/check_samsec.o \
auth/server_info.o \
auth/server_info_sam.o \
auth/user_info.o \
auth/pampass.o \
- smbd/chgpasswd.o \
../nsswitch/libwbclient/wb_reqtrans.o
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_INTERNAL) $(RPC_SAMR_OBJ) $(RPC_LSA_OBJ) \
$(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \
$(LIBADS_SERVER_OBJ) \
$(TDB_VALIDATE_OBJ)
$(PASSDB_OBJ) $(LIBTSOCKET_OBJ) $(GROUPDB_OBJ) \
$(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
$(WBCOMMON_OBJ) \
- $(LIBNDR_GEN_OBJ0) $(LIBNDR_GEN_OBJ1) @BUILD_INIPARSER@
+ $(LIBNDR_GEN_OBJ0) $(LIBNDR_NETLOGON_OBJ) @BUILD_INIPARSER@
VLP_OBJ = printing/tests/vlp.o \
$(SMBLDAP_OBJ) $(GROUPDB_OBJ) \
$(LIB_NONSMBD_OBJ) \
$(KRBCLIENT_OBJ) \
- $(RPC_PARSE_OBJ2) \
+ $(RPC_PARSE_OBJ) \
$(RPC_CLIENT_OBJ1) \
+ librpc/rpc/rpc_common.o \
rpc_client/cli_pipe.o \
+ librpc/rpc/dcerpc_gssapi.o \
+ librpc/rpc/dcerpc_spnego.o \
../librpc/rpc/binding.o \
$(LIBMSRPC_GEN_OBJ)
modules:: SHOWFLAGS $(MODULES)
-$(LIBSMBCLIENT_THREAD_OBJ) ../nsswitch/wins.o \
- ../nsswitch/winbind_nss_linux.o := EXTRA_FLAGS = $(PTHREAD_CFLAGS)
#####################################################################
## Perl IDL Compiler
+
+IDL_FILES = librpc/idl/messaging.idl \
+ librpc/idl/libnetapi.idl \
+ librpc/idl/notify.idl \
+ librpc/idl/wbint.idl \
+ librpc/idl/perfcount.idl \
+ librpc/idl/secrets.idl \
+ librpc/idl/libnet_join.idl \
+ librpc/idl/preg.idl
+
samba3-idl::
@PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
srcdir="$(srcdir)" ../librpc/build_idl.sh ../librpc/idl/*.idl
@PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
- srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh \
- librpc/idl/messaging.idl librpc/idl/libnetapi.idl librpc/idl/notify.idl \
- librpc/idl/wbint.idl librpc/idl/perfcount.idl \
- librpc/idl/secrets.idl librpc/idl/libnet_join.idl
+ srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh $(IDL_FILES)
+
+idl_full::
+ @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
+ srcdir="$(srcdir)" ../librpc/build_idl.sh --full ../librpc/idl/*.idl
+ @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
+ srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh --full $(IDL_FILES)
#####################################################################
exec false; fi || exec false
# Run a static checker.
-CHECK_CC = $(CC_CHECKER) $(CFLAGS) $(EXTRA_FLAGS) $(PICFLAG) -c $< -o $@
+CHECK_CC = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) -c $< -o $@
# Compile a source file.
-COMPILE_CC = $(CC) $(CFLAGS) $(EXTRA_FLAGS) $(PICFLAG) -c $< -o $@
+COMPILE_CC = $(CC) $(CFLAGS) $(PICFLAG) -c $< -o $@
# Compile a source file with the installation paths defined.
-COMPILE_CC_PATH = $(CC) $(PATH_FLAGS) $(CFLAGS) $(EXTRA_FLAGS) $(PICFLAG) -c $< -o $@
+COMPILE_CC_PATH = $(CC) $(PATH_FLAGS) $(CFLAGS) $(PICFLAG) -c $< -o $@
COMPILE = $(COMPILE_CC)
echo "$(COMPILE_CC_PATH)" 1>&2;\
$(COMPILE_CC_PATH) >/dev/null 2>&1
+### Start section of object files that require PTHREAD_CFLAGS
+../nsswitch/wins.o: ../nsswitch/wins.c
+ @echo Compiling $*.c
+ @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\
+ echo "The following command failed:" 1>&2;\
+ echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\
+ $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1
+
+../nsswitch/winbind_nss_linux.o: ../nsswitch/winbind_nss_linux.c
+ @echo Compiling $*.c
+ @$(COMPILE_CC) $(PTHREAD_CFLAGS) && exit 0;\
+ echo "The following command failed:" 1>&2;\
+ echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\
+ $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1
+
+libsmb/libsmb_thread_impl.o: libsmb/libsmb_thread_impl.c
+ @echo Compiling $*.c
+ @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\
+ echo "The following command failed:" 1>&2;\
+ echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\
+ $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1
+
+libsmb/libsmb_thread_posix.o: libsmb/libsmb_thread_posix.c
+ @echo Compiling $*.c
+ @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\
+ echo "The following command failed:" 1>&2;\
+ echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\
+ $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1
+### End section of object files that require PTHREAD_CFLAGS
+
localedir.o: localedir.c Makefile
@echo Compiling $*.c
@$(COMPILE_CC_PATH) && exit 0;\
bin/replacetort@EXEEXT@: $(REPLACETORT_OBJ) @BUILD_POPT@ $(LIBTALLOC)
@echo Linking $@
- @$(CC) @PIE_LDFLAGS@ -o $@ $(REPLACETORT_OBJ) $(LDFLAGS) \
+ @$(CC) -o $@ $(REPLACETORT_OBJ) $(LDFLAGS) \
$(DYNEXP) $(LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS)
bin/smbconftort@EXEEXT@: $(SMBCONFTORT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
@echo Linking $@
- @$(CC) @PIE_LDFLAGS@ -o $@ $(SMBCONFTORT_OBJ) $(LDFLAGS) \
+ @$(CC) -o $@ $(SMBCONFTORT_OBJ) $(LDFLAGS) \
$(DYNEXP) $(LIBS) $(LDAP_LIBS) $(POPT_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
bin/smbfilter@EXEEXT@: $(BINARY_PREREQS) $(SMBFILTER_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
@echo Linking $@
- @$(CC) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS) \
+ @$(CC) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \
@LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
$(LIBTDB_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBTDB_OBJ) $(LIBTDB_SYMS)
@echo Linking shared library $@
- @$(SHLD_DSO) $(LIBTDB_OBJ) $(LIBREPLACE_LIBS) \
+ @$(SHLD_DSO) $(LIBTDB_OBJ) $(LIBREPLACE_LIBS) $(TDB_DEPS) \
@SONAMEFLAG@`basename $@`
$(LIBTDB_SHARED_TARGET): $(LIBTDB_SHARED_TARGET_SONAME)
@echo "Building plugin $@"
@$(SHLD_MODULE) winbindd/idmap_rid.o
+bin/passdb.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_passdb.o
+ @echo "Building plugin $@"
+ @$(SHLD_MODULE) winbindd/idmap_passdb.o
+
bin/ad.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ad.o
@echo "Building plugin $@"
@$(SHLD_MODULE) winbindd/idmap_ad.o
@echo "Building plugin $@"
@$(SHLD_MODULE) $(VFS_CROSSRENAME_OBJ)
+bin/linux_xfs_sgid.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_LINUX_XFS_SGID_OBJ)
+ @echo "Building plugin $@"
+ @$(SHLD_MODULE) $(VFS_LINUX_XFS_SGID_OBJ)
+
#########################################################
## IdMap NSS plugins
bin/test_lp_load@EXEEXT@: $(BINARY_PREREQS) $(TEST_LP_LOAD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
@echo "Linking $@"
@$(CC) -o $@ $(TEST_LP_LOAD_OBJ) \
- $(LDFLAGS) $(DYNEEXP) $(LIBS) \
+ $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(LDAP_LIBS) \
$(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
bin/dbwrap_tool@EXEEXT@: $(DBWRAP_TOOL_OBJ) $(LIBTALLOC) $(LIBTDB)
@echo "Linking $@"
@$(CC) -o $@ $(DBWRAP_TOOL_OBJ)\
- $(LDFLAGS) $(DYNEEXP) $(LIBS) \
+ $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(LDAP_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
bin/dbwrap_torture@EXEEXT@: $(DBWRAP_TORTURE_OBJ) $(LIBTALLOC) $(LIBTDB)
@echo "Linking $@"
@$(CC) -o $@ $(DBWRAP_TORTURE_OBJ)\
- $(LDFLAGS) $(DYNEEXP) $(LIBS) \
+ $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(LDAP_LIBS) \
$(POPT_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
bin/split_tokens@EXEEXT@: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
@echo "Linking $@"
@$(CC) -o $@ $(SPLIT_TOKENS_OBJ) \
- $(LDFLAGS) $(DYNEEXP) \
+ $(LDFLAGS) $(DYNEXP) \
$(LIBS) $(POPT_LIBS) \
$(LDAP_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
TEST_EXTRA_ARGS = ${smbtorture4_option} ${selftest_shrdir} ${selftest_custom_conf}
-test:: all torture timelimit
+oldtest:: all torture timelimit
@echo Running Test suite
@LIB_PATH_VAR=$(LIB_PATH_VAR) PERL="$(PERL)" NSS_WRAPPER_WINBIND_SO_PATH="$(srcdir)/@WINBIND_NSS@" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all ${TEST_EXTRA_ARGS}
SUBUNIT_FORMATTER = $(PYTHON) $(selftestdir)/format-subunit --immediate
-selftest:: all torture timelimit
+test:: all torture timelimit
@LIB_PATH_VAR=$(LIB_PATH_VAR) $(S3_LD_LIBPATH_OVERRIDE) \
SAMBA4SHAREDDIR="$(builddir)/bin/shared" SMBTORTURE4=$(smbtorture4_path) \
PERL="$(PERL)" PYTHON="$(PYTHON)" \
--expected-failures=$(srcdir)/selftest/knownfail | \
$(SUBUNIT_FORMATTER)
-selftest-%:
- $(MAKE) selftest TESTS=$*
+test-%:
+ $(MAKE) test TESTS=$*
+
+SELFTEST_TESTENV = dc
+
+testenv:
+ $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) TESTS="--testenv"
+
+gdbtestenv:
+ $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) \
+ NMBD_VALGRIND="xterm -n nmbd -title nmbd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \
+ WINBINDD_VALGRIND="xterm -n winbindd -title winbindd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \
+ SMBD_VALGRIND="xterm -n smbd -title smbd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \
+ TESTS="--testenv"
+
+valgrindtestenv:
+ $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) \
+ NMBD_VALGRIND="xterm -n nmbd -title nmbd -e valgrind -q --db-attach=yes --num-callers=30" \
+ WINBINDD_VALGRIND="xterm -n winbindd -title winbindd -e valgrind -q --db-attach=yes --num-callers=30" \
+ SMBD_VALGRIND="xterm -n smbd -title smbd -e valgrind -q --db-attach=yes --num-callers=30" \
+ TESTS="--testenv"
+
# Check for Winbind struct 32/64bit padding
test_wbpad:
cd ../source4 && ../buildtools/bin/waf build --targets=smbtorture
cp ../source4/bin/smbtorture bin/smbtorture4
+bin/ndrdump4: $(BINARY_PREREQS) samba4-configure
+ cd ../source4 && ../buildtools/bin/waf build --targets=ndrdump
+ cp ../source4/bin/ndrdump bin/ndrdump4
+
.PHONY: bin/smbtorture4