mirror of
https://github.com/samba-team/samba.git
synced 2025-01-15 23:24:37 +03:00
e895b9004e
This work was sponsored by Optifacio Software Services, Inc. Andrew Bartlett (various e-mails announcements merged into some form of commit message below:) This patch which adds basics of universal groups support into Samba 3. Currently, only Winbind with RPC calls supports this, ADS support requires additional (possibly huge) work on KRB5 PAC. However, basic infrastructure is here. This patch adds: 1. Storing of universal groups for particular user logged into Samba software (smbd/ two winbind-pam methods) into netlogon_unigrp.tdb as array of uint32 supplemental group rids keyed as DOMAIN_SID/USER_RID in tdb. 2. Fetching of unversal groups for given user rid and domain sid from netlogon_unigrp.tdb. Since this is used in both smbd and winbindd, main code is in source/lib/netlogon_uingrp.c. Dependencies are added to AUTH_OBJ as UNIGRP_OBJ and WINBINDD_OBJ as UNIGRP_OBJ. This patch has had a few versions, the final version in particular: Many thanks to Andrew Bartlett for critics and comments, and partly rewritten code. New: - updated fetching code to changed byte order macros - moved functions to proper namespace - optimized memory usage by reusing caller's memory context - enhanced code to more follow Samba coding rules Todo: - proper universal group expiration after timeout (This used to be commit 80c2aefbe7c1aa363dd286a47d50c5d8b4595f43)
886 lines
31 KiB
Makefile
886 lines
31 KiB
Makefile
##########################################################################
|
|
# Makefile.in for Samba - rewritten for autoconf support
|
|
# Copyright Andrew Tridgell 1992-1998
|
|
# Copyright (C) 2001 by Martin Pool <mbp@samba.org>
|
|
###########################################################################
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
mandir=@mandir@
|
|
|
|
LIBS=@LIBS@
|
|
CC=@CC@
|
|
SHLD=@SHLD@
|
|
CFLAGS=@CFLAGS@
|
|
CPPFLAGS=@CPPFLAGS@
|
|
LDFLAGS=@LDFLAGS@
|
|
LDSHFLAGS=@LDSHFLAGS@ @LDFLAGS@ @CFLAGS@
|
|
AWK=@AWK@
|
|
|
|
TERMLDFLAGS=@TERMLDFLAGS@
|
|
TERMLIBS=@TERMLIBS@
|
|
|
|
LINK=$(CC) $(FLAGS) $(LDFLAGS)
|
|
|
|
INSTALLCMD=@INSTALL@
|
|
|
|
VPATH=@srcdir@
|
|
srcdir=@srcdir@
|
|
builddir=@builddir@
|
|
SHELL=/bin/sh
|
|
|
|
# XXX: Perhaps this should be @SHELL@ instead -- apparently autoconf
|
|
# will search for a POSIX-compliant shell, and that might not be
|
|
# /bin/sh on some platforms. I guess it's not a big problem -- mbp
|
|
|
|
# See the autoconf manual "Installation Directory Variables" for a
|
|
# discussion of thesubtle use of these variables.
|
|
|
|
BASEDIR= @prefix@
|
|
BINDIR = @bindir@
|
|
# sbindir is mapped to bindir when compiling SAMBA in 2.0.x compatibility mode.
|
|
SBINDIR = @sbindir@
|
|
LIBDIR = @libdir@
|
|
VARDIR = @localstatedir@
|
|
MANDIR = @mandir@
|
|
|
|
# The permissions to give the executables
|
|
INSTALLPERMS = 0755
|
|
|
|
# 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 = $(VARDIR)
|
|
CONFIGFILE = $(LIBDIR)/smb.conf
|
|
LMHOSTSFILE = $(LIBDIR)/lmhosts
|
|
DRIVERFILE = $(LIBDIR)/printers.def
|
|
# 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@
|
|
|
|
# the directory where lock files go
|
|
LOCKDIR = @lockdir@
|
|
|
|
# man pages language(s)
|
|
man_langs = "@manlangs@"
|
|
|
|
FLAGS1 = $(CFLAGS) @FLAGS1@ -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper -I. $(CPPFLAGS) -I$(srcdir)
|
|
FLAGS2 =
|
|
FLAGS3 =
|
|
FLAGS4 =
|
|
FLAGS5 = $(FLAGS1) $(FLAGS2) $(FLAGS3) $(FLAGS4)
|
|
FLAGS = $(ISA) $(FLAGS5)
|
|
FLAGS32 = $(ISA32) $(FLAGS5)
|
|
|
|
PASSWD_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" -DPRIVATE_DIR=\"$(PRIVATE_DIR)\"
|
|
PATH_FLAGS1 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DSBINDIR=\"$(SBINDIR)\"
|
|
PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"$(BINDIR)\" -DDRIVERFILE=\"$(DRIVERFILE)\"
|
|
PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"
|
|
PATH_FLAGS4 = $(PATH_FLAGS3) -DSWATDIR=\"$(SWATDIR)\" -DLOCKDIR=\"$(LOCKDIR)\"
|
|
PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" -DLOGFILEBASE=\"$(LOGFILEBASE)\"
|
|
PATH_FLAGS = $(PATH_FLAGS5) $(PASSWD_FLAGS)
|
|
|
|
WINBIND_PROGS = @WINBIND_TARGETS@
|
|
WINBIND_SPROGS = @WINBIND_STARGETS@
|
|
WINBIND_PAM_PROGS = @WINBIND_PAM_TARGETS@
|
|
WINBIND_LPROGS = @WINBIND_LTARGETS@
|
|
|
|
SPROGS = bin/smbd bin/nmbd bin/swat @WINBIND_STARGETS@
|
|
PROGS1 = bin/smbclient bin/net bin/smbspool bin/testparm bin/testprns bin/smbstatus bin/smbcontrol bin/smbtree @RUNPROG@ @WINBIND_TARGETS@
|
|
PROGS2 = bin/smbpasswd bin/rpcclient bin/smbcacls @WRAP@ @WRAP32@ @PAM_MOD@
|
|
MPROGS = @MPROGS@
|
|
LPROGS = $(WINBIND_PAM_PROGS) $(WINBIND_LPROGS)
|
|
|
|
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/pdbedit bin/smbgroupedit
|
|
TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest bin/locktest2
|
|
SHLIBS = libsmbclient
|
|
|
|
SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script/convert_smbpasswd
|
|
|
|
QUOTAOBJS=@QUOTAOBJS@
|
|
|
|
######################################################################
|
|
# object file lists
|
|
######################################################################
|
|
|
|
TDB_OBJ = tdb/tdb.o tdb/spinlock.o tdb/tdbutil.o
|
|
|
|
LIB_OBJ = lib/charcnv.o lib/debug.o lib/fault.o \
|
|
lib/getsmbpass.o lib/interface.o lib/md4.o \
|
|
lib/interfaces.o lib/pidfile.o lib/replace.o \
|
|
lib/signal.o lib/system.o lib/time.o \
|
|
lib/ufc.o lib/genrand.o lib/username.o lib/util_getent.o lib/access.o lib/smbrun.o \
|
|
lib/bitmap.o lib/crc32.o lib/snprintf.o lib/dprintf.o lib/xfile.o lib/wins_srv.o \
|
|
lib/util_str.o lib/util_sid.o \
|
|
lib/util_unistr.o lib/util_file.o \
|
|
lib/util.o lib/util_sock.o lib/util_sec.o smbd/ssl.o \
|
|
lib/talloc.o lib/hash.o lib/substitute.o lib/fsusage.o \
|
|
lib/ms_fnmatch.o lib/select.o lib/error.o lib/messages.o \
|
|
lib/tallocmsg.o lib/dmallocmsg.o \
|
|
lib/md5.o lib/hmacmd5.o lib/iconv.o lib/smbpasswd.o \
|
|
nsswitch/wb_client.o nsswitch/wb_common.o \
|
|
intl/lang_tdb.o lib/account_pol.o $(TDB_OBJ)
|
|
|
|
READLINE_OBJ = lib/readline.o
|
|
|
|
UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
|
|
ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o
|
|
|
|
PARAM_OBJ = param/loadparm.o param/params.o dynconfig.o
|
|
|
|
LIBADS_OBJ = libads/ldap.o libads/sasl.o libads/krb5_setpw.o libads/kerberos.o \
|
|
libads/ads_struct.o libads/ads_status.o passdb/secrets.o \
|
|
libads/util.o
|
|
|
|
LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
|
|
libsmb/clikrb5.o libsmb/clispnego.o libsmb/asn1.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/namequery.o libsmb/nmblib.o libsmb/clistr.o \
|
|
libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
|
|
libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
|
|
libsmb/clioplock.o libsmb/errormap.o libsmb/clirap2.o \
|
|
libsmb/passchange.o libsmb/unexpected.o $(RPC_PARSE_OBJ1) \
|
|
$(LIBADS_OBJ)
|
|
|
|
LIBMSRPC_OBJ = libsmb/cli_lsarpc.o libsmb/cli_samr.o libsmb/cli_spoolss.o \
|
|
libsmb/cli_netlogon.o libsmb/cli_srvsvc.o libsmb/cli_dfs.o \
|
|
libsmb/cli_reg.o libsmb/trust_passwd.o\
|
|
rpc_client/cli_pipe.o libsmb/cli_pipe_util.o
|
|
|
|
LIBMSRPC_PICOBJ = $(LIBMSRPC_OBJ:.o=.po)
|
|
|
|
RPC_SERVER_OBJ = rpc_server/srv_lsa.o rpc_server/srv_lsa_nt.o \
|
|
rpc_server/srv_lsa_hnd.o rpc_server/srv_netlog.o rpc_server/srv_netlog_nt.o \
|
|
rpc_server/srv_pipe_hnd.o rpc_server/srv_reg.o rpc_server/srv_reg_nt.o \
|
|
rpc_server/srv_samr.o rpc_server/srv_samr_nt.o rpc_server/srv_srvsvc.o rpc_server/srv_srvsvc_nt.o \
|
|
rpc_server/srv_util.o rpc_server/srv_wkssvc.o rpc_server/srv_wkssvc_nt.o \
|
|
rpc_server/srv_pipe.o rpc_server/srv_dfs.o rpc_server/srv_dfs_nt.o \
|
|
rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o
|
|
|
|
# this includes only the low level parse code, not stuff
|
|
# that requires knowledge of security contexts
|
|
RPC_PARSE_OBJ1 = rpc_parse/parse_prs.o rpc_parse/parse_sec.o \
|
|
rpc_parse/parse_misc.o
|
|
|
|
RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_net.o \
|
|
rpc_parse/parse_reg.o rpc_parse/parse_rpc.o \
|
|
rpc_parse/parse_samr.o rpc_parse/parse_srv.o \
|
|
rpc_parse/parse_wks.o \
|
|
rpc_parse/parse_spoolss.o rpc_parse/parse_dfs.o
|
|
|
|
|
|
RPC_CLIENT_OBJ = rpc_client/cli_netlogon.o rpc_client/cli_pipe.o \
|
|
rpc_client/cli_login.o \
|
|
rpc_client/cli_spoolss_notify.o
|
|
|
|
LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
|
|
|
|
PASSDB_OBJ = passdb/passdb.o passdb/pdb_get_set.o \
|
|
passdb/machine_sid.o passdb/pdb_smbpasswd.o \
|
|
passdb/pdb_tdb.o passdb/pdb_ldap.o \
|
|
passdb/pdb_nisplus.o
|
|
|
|
GROUPDB_OBJ = groupdb/mapping.o
|
|
|
|
# passdb/smbpass.o passdb/ldap.o passdb/nispass.o
|
|
|
|
PROFILE_OBJ = profile/profile.o
|
|
|
|
OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o
|
|
|
|
NOTIFY_OBJ = smbd/notify.o smbd/notify_hash.o smbd/notify_kernel.o
|
|
|
|
PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
|
|
|
|
UNIGRP_OBJ = libsmb/netlogon_unigrp.o
|
|
|
|
AUTH_OBJ = auth/auth.o auth/auth_sam.o auth/auth_server.o auth/auth_domain.o \
|
|
auth/auth_rhosts.o auth/auth_unix.o auth/auth_util.o auth/auth_winbind.o \
|
|
auth/auth_builtin.o auth/auth_compat.o $(PLAINTEXT_AUTH_OBJ) $(UNIGRP_OBJ)
|
|
|
|
|
|
SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \
|
|
smbd/utmp.o smbd/session.o \
|
|
smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \
|
|
smbd/ipc.o smbd/lanman.o smbd/mangle.o smbd/negprot.o \
|
|
smbd/message.o smbd/nttrans.o smbd/pipes.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/vfs.o smbd/vfs-wrap.o smbd/statcache.o \
|
|
smbd/posix_acls.o lib/sysacls.o \
|
|
smbd/process.o smbd/service.o smbd/error.o \
|
|
printing/printfsp.o lib/util_seaccess.o smbd/srvstr.o \
|
|
smbd/build_options.o \
|
|
smbd/change_trust_pw.o \
|
|
rpc_client/cli_spoolss_notify.o
|
|
|
|
|
|
PRINTING_OBJ = printing/pcap.o printing/print_svid.o \
|
|
printing/print_cups.o printing/print_generic.o \
|
|
printing/lpq_parse.o printing/load.o
|
|
|
|
PRINTBACKEND_OBJ = printing/printing.o printing/nt_printing.o
|
|
|
|
MSDFS_OBJ = msdfs/msdfs.o
|
|
|
|
SMBD_OBJ = $(SMBD_OBJ1) $(MSDFS_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
|
|
$(RPC_SERVER_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) \
|
|
$(LIB_OBJ) $(PRINTBACKEND_OBJ) $(QUOTAOBJS) $(OPLOCK_OBJ) \
|
|
$(NOTIFY_OBJ) $(GROUPDB_OBJ) $(AUTH_OBJ) $(LIBMSRPC_OBJ)
|
|
|
|
|
|
NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
|
|
nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \
|
|
nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \
|
|
nmbd/nmbd_incomingdgrams.o nmbd/nmbd_incomingrequests.o \
|
|
nmbd/nmbd_lmhosts.o nmbd/nmbd_logonnames.o nmbd/nmbd_mynames.o \
|
|
nmbd/nmbd_namelistdb.o nmbd/nmbd_namequery.o \
|
|
nmbd/nmbd_nameregister.o nmbd/nmbd_namerelease.o \
|
|
nmbd/nmbd_nodestatus.o nmbd/nmbd_packets.o \
|
|
nmbd/nmbd_processlogon.o nmbd/nmbd_responserecordsdb.o \
|
|
nmbd/nmbd_sendannounce.o nmbd/nmbd_serverlistdb.o \
|
|
nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \
|
|
nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o
|
|
|
|
NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
|
|
$(PROFILE_OBJ) $(LIB_OBJ)
|
|
|
|
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
|
|
web/swat.o web/neg_lang.o $(PRINTING_OBJ) $(LIBSMB_OBJ) $(LOCKING_OBJ) \
|
|
$(PARAM_OBJ) $(PASSDB_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ) \
|
|
smbwrapper/shared.o
|
|
|
|
SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
|
|
$(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ)
|
|
|
|
SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ)
|
|
|
|
SMBTREE_OBJ = utils/smbtree.o $(LOCKING_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) $(LIBSMB_OBJ)
|
|
|
|
TESTPARM_OBJ = utils/testparm.o \
|
|
$(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
TESTPRNS_OBJ = utils/testprns.o $(PARAM_OBJ) $(PRINTING_OBJ) $(UBIQX_OBJ) \
|
|
$(LIB_OBJ)
|
|
|
|
SMBPASSWD_OBJ = utils/smbpasswd.o $(PARAM_OBJ) \
|
|
$(LIBSMB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ)\
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ)
|
|
|
|
SMBGROUPEDIT_OBJ = utils/smbgroupedit.o $(GROUPDB_OBJ) $(PARAM_OBJ) \
|
|
$(LIBSMB_OBJ) $(PASSDB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \
|
|
rpcclient/cmd_samr.o rpcclient/cmd_spoolss.o \
|
|
rpcclient/cmd_netlogon.o rpcclient/cmd_srvsvc.o \
|
|
rpcclient/cmd_dfs.o rpcclient/cmd_reg.o \
|
|
rpc_client/cli_login.o rpc_client/cli_netlogon.o \
|
|
rpcclient/display_sec.o
|
|
|
|
RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_OBJ) \
|
|
$(READLINE_OBJ) $(GROUPDB_OBJ)
|
|
|
|
SAMSYNC_OBJ1 = rpcclient/samsync.o rpcclient/display_sec.o
|
|
|
|
SAMSYNC_OBJ = $(SAMSYNC_OBJ1) \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_OBJ) \
|
|
$(GROUPDB_OBJ)
|
|
|
|
PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po lib/snprintf.o
|
|
|
|
SMBW_OBJ = smbwrapper/smbw.o \
|
|
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
|
|
smbwrapper/realcalls.o smbwrapper/shared.o \
|
|
smbwrapper/smbw_cache.o \
|
|
$(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
SMBWRAPPER_OBJ = $(SMBW_OBJ) smbwrapper/wrapped.o
|
|
|
|
LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o $(LIB_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
|
|
|
|
CLIENT_OBJ = client/client.o client/clitar.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(READLINE_OBJ)
|
|
|
|
NET_OBJ = utils/net.o utils/net_ads.o \
|
|
utils/net_rap.o utils/net_rpc.o \
|
|
utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
|
|
$(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
|
|
$(GROUPDB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
|
|
CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MOUNT_OBJ = client/smbmount.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MNT_OBJ = client/smbmnt.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
UMOUNT_OBJ = client/smbumount.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) \
|
|
$(LIBSMB_OBJ) $(LIB_OBJ)
|
|
|
|
SMBTORTURE_OBJ = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \
|
|
torture/denytest.o \
|
|
$(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MASKTEST_OBJ = torture/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MSGTEST_OBJ = torture/msgtest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
LOCKTEST_OBJ = torture/locktest.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
NSSTEST_OBJ = torture/nsstest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
LOCKTEST2_OBJ = torture/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
|
|
$(LIBMSRPC_OBJ) $(GROUPDB_OBJ)
|
|
|
|
TALLOCTORT_OBJ = lib/talloctort.o $(LIB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
|
|
|
|
RPCTORTURE_OBJ = torture/rpctorture.o \
|
|
rpcclient/display.o \
|
|
rpcclient/cmd_lsarpc.o \
|
|
rpcclient/cmd_wkssvc.o \
|
|
rpcclient/cmd_samr.o \
|
|
rpcclient/cmd_srvsvc.o \
|
|
rpcclient/cmd_netlogon.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ)
|
|
|
|
DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o
|
|
|
|
SMBFILTER_OBJ = utils/smbfilter.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
PROTO_OBJ = $(SMBD_OBJ) $(NMBD_OBJ) $(SWAT_OBJ) $(CLIENT_OBJ) \
|
|
$(SMBWRAPPER_OBJ) $(SMBTORTURE_OBJ) $(RPCCLIENT_OBJ1) \
|
|
$(LIBMSRPC_OBJ) $(RPC_CLIENT_OBJ) $(AUTH_OBJ) $(NET_OBJ)
|
|
|
|
NSS_OBJ_0 = nsswitch/wins.o $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBSMB_OBJ) $(LIB_OBJ) $(NSSWINS_OBJ)
|
|
NSS_OBJ = $(NSS_OBJ_0:.o=.po)
|
|
|
|
PICOBJS = $(SMBWRAPPER_OBJ:.o=.po)
|
|
PICOBJS32 = $(SMBWRAPPER_OBJ:.o=.po32)
|
|
LIBSMBCLIENT_PICOBJS = $(LIBSMBCLIENT_OBJ:.o=.po)
|
|
|
|
PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
|
|
pam_smbpass/pam_smb_acct.o pam_smbpass/support.o \
|
|
lib/debug.o lib/util_sid.o lib/messages.o lib/util_str.o \
|
|
lib/wins_srv.o lib/substitute.o lib/select.o lib/util.o \
|
|
nsswitch/wb_client.o nsswitch/wb_common.o \
|
|
lib/system.o lib/util_file.o \
|
|
lib/genrand.o lib/username.o lib/util_getent.o lib/charcnv.o lib/time.o \
|
|
lib/md4.o lib/util_unistr.o lib/signal.o lib/talloc.o \
|
|
lib/ms_fnmatch.o lib/util_sock.o lib/smbrun.o \
|
|
lib/util_sec.o lib/snprintf.o \
|
|
ubiqx/ubi_sLinkList.o libsmb/smbencrypt.o libsmb/smbdes.o \
|
|
$(PARAM_OBJ) $(TDB_OBJ) $(PASSDB_OBJ)
|
|
|
|
PAM_SMBPASS_PICOOBJ = $(PAM_SMBPASS_OBJ_0:.o=.po)
|
|
|
|
WINBINDD_OBJ1 = \
|
|
nsswitch/winbindd.o \
|
|
nsswitch/winbindd_user.o \
|
|
nsswitch/winbindd_group.o \
|
|
nsswitch/winbindd_idmap.o \
|
|
nsswitch/winbindd_util.o \
|
|
nsswitch/winbindd_cache.o \
|
|
nsswitch/winbindd_pam.o \
|
|
nsswitch/winbindd_sid.o \
|
|
nsswitch/winbindd_misc.o \
|
|
nsswitch/winbindd_cm.o \
|
|
nsswitch/winbindd_rpc.o \
|
|
nsswitch/winbindd_ads.o
|
|
|
|
WINBINDD_OBJ = \
|
|
$(WINBINDD_OBJ1) $(NOPROTO_OBJ) $(PASSDB_OBJ) \
|
|
$(LIBNMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(GROUPDB_OBJ) $(PROFILE_OBJ) $(UNIGRP_OBJ)
|
|
|
|
WBINFO_OBJ = nsswitch/wbinfo.o libsmb/smbencrypt.o libsmb/smbdes.o \
|
|
passdb/secrets.o
|
|
|
|
WINBIND_NSS_OBJ = nsswitch/winbind_nss.o nsswitch/wb_common.o
|
|
|
|
WINBIND_NSS_PICOBJS = $(WINBIND_NSS_OBJ:.o=.po)
|
|
|
|
POPT_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
|
|
popt/popthelp.o popt/poptparse.o
|
|
|
|
######################################################################
|
|
# now the rules...
|
|
######################################################################
|
|
all : SHOWFLAGS include/proto.h include/build_env.h $(SPROGS) $(PROGS) $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS) $(SHLIBS)
|
|
|
|
pam_smbpass : SHOWFLAGS bin/pam_smbpass.@SHLIBEXT@
|
|
|
|
smbwrapper : SHOWFLAGS bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@
|
|
|
|
torture : SHOWFLAGS $(TORTURE_PROGS)
|
|
|
|
smbtorture : SHOWFLAGS bin/smbtorture
|
|
|
|
masktest : SHOWFLAGS bin/masktest
|
|
|
|
msgtest : SHOWFLAGS bin/msgtest
|
|
|
|
locktest : SHOWFLAGS bin/locktest
|
|
|
|
smbcacls : SHOWFLAGS bin/smbcacls
|
|
|
|
locktest2 : SHOWFLAGS bin/locktest2
|
|
|
|
rpctorture : SHOWFLAGS bin/rpctorture
|
|
|
|
debug2html : SHOWFLAGS bin/debug2html
|
|
|
|
smbfilter : SHOWFLAGS bin/smbfilter
|
|
|
|
talloctort : SHOWFLAGS bin/talloctort
|
|
|
|
nsswitch : SHOWFLAGS $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS)
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o .po .po32 .lo
|
|
|
|
SHOWFLAGS:
|
|
@echo "Using FLAGS = $(FLAGS)"
|
|
@echo " FLAGS32 = $(FLAGS32)"
|
|
@echo " LIBS = $(LIBS)"
|
|
@echo " LDSHFLAGS = $(LDSHFLAGS)"
|
|
@echo " LDFLAGS = $(LDFLAGS)"
|
|
|
|
MAKEDIR = || exec false; \
|
|
if test -d "$$dir"; then :; else \
|
|
echo mkdir "$$dir"; \
|
|
mkdir -p "$$dir" >/dev/null 2>&1 || \
|
|
test -d "$$dir" || \
|
|
mkdir "$$dir" || \
|
|
exec false; fi || exec false
|
|
|
|
.c.o:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@echo Compiling $*.c
|
|
@$(CC) -I. -I$(srcdir) $(FLAGS) -c $< \
|
|
-o $@
|
|
@BROKEN_CC@ -mv `echo $@ | sed 's%^.*/%%g'` $@
|
|
|
|
# These dependencies are only approximately correct: we want to make
|
|
# sure Samba's paths are updated if ./configure is re-run. Really it
|
|
# would be nice if "make prefix=/opt/samba all" also rebuilt things,
|
|
# but since we also require "make install prefix=/opt/samba" *not* to
|
|
# rebuild it's a bit hard.
|
|
|
|
dynconfig.o: dynconfig.c Makefile
|
|
@echo Compiling $*.c
|
|
@$(CC) $(FLAGS) $(PATH_FLAGS) -c $< -o $@
|
|
|
|
dynconfig.po: dynconfig.c Makefile
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@echo Compiling $*.c with @PICFLAG@
|
|
@$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@
|
|
@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@
|
|
@POBAD_CC@ @mv $*.po.o $@
|
|
|
|
.c.po:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@echo Compiling $*.c with @PICFLAG@
|
|
@$(CC) -I. -I$(srcdir) $(FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@
|
|
@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@
|
|
@POBAD_CC@ @mv $*.po.o $@
|
|
|
|
# this is for IRIX
|
|
.c.po32:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@echo Compiling $*.c with @PICFLAG@ and -32
|
|
@$(CC) -32 -I. -I$(srcdir) $(FLAGS32) $(PATH_FLAGS) @PICFLAG@ -c $< \
|
|
-o $*.po32.o
|
|
@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po32$$%.o%'` $@.o
|
|
@mv $*.po32.o $@
|
|
|
|
bin/.dummy:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \
|
|
dir=bin $(MAKEDIR); fi
|
|
@: >> $@ || : > $@ # what a fancy emoticon!
|
|
|
|
bin/smbd: $(SMBD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/nmbd: $(NMBD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/swat: $(SWAT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS)
|
|
|
|
bin/samsync: $(SAMSYNC_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SAMSYNC_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbclient: $(CLIENT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS)
|
|
|
|
bin/net: $(NET_OBJ) bin/.dummy @BUILD_POPT@
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
|
|
|
|
bin/smbspool: $(CUPS_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbmount: $(MOUNT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbmnt: $(MNT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbumount: $(UMOUNT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/testparm: $(TESTPARM_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/testprns: $(TESTPRNS_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbstatus: $(STATUS_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbcontrol: $(SMBCONTROL_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbtree: $(SMBTREE_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/pdbedit: $(PDBEDIT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbgroupedit: $(SMBGROUPEDIT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBGROUPEDIT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/nmblookup: $(NMBLOOKUP_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MAKE_PRINTERDEF_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/talloctort: $(TALLOCTORT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(TALLOCTORT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/masktest: $(MASKTEST_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/msgtest: $(MSGTEST_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbcacls: $(SMBCACLS_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/locktest: $(LOCKTEST_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/nsstest: $(NSSTEST_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/locktest2: $(LOCKTEST2_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
|
|
bin/smbw_sample: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbwrapper.@SHLIBEXT@: $(PICOBJS)
|
|
@echo Linking shared library $@
|
|
@$(SHLD) $(LDSHFLAGS) -o $@ $(PICOBJS) $(LIBS)
|
|
|
|
bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32)
|
|
@echo Linking shared library $@
|
|
@$(SHLD) -32 $(LDSHFLAGS) -o $@ $(PICOBJS32) $(LIBS)
|
|
|
|
bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS)
|
|
echo Linking libsmbclient shared library $@
|
|
$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LIBS)
|
|
|
|
bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS)
|
|
@echo Linking libsmbclient non-shared library $@
|
|
-$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS)
|
|
|
|
libsmbclient: bin/libsmbclient.a @LIBSMBCLIENT_SHARED@
|
|
|
|
bin/smbsh: $(SMBSH_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(SHLD) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
nsswitch/libnss_wins.so: $(NSS_OBJ)
|
|
@echo "Linking $@"
|
|
@$(SHLD) $(LDSHFLAGS) -o $@ $(NSS_OBJ) -lc
|
|
|
|
bin/winbindd: $(WINBINDD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(LINK) -o $@ $(WINBINDD_OBJ) $(LIBS)
|
|
|
|
nsswitch/libnss_winbind.so: $(WINBIND_NSS_PICOBJS)
|
|
@echo "Linking $@"
|
|
@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_NSS_PICOBJS)
|
|
|
|
nsswitch/pam_winbind.so: $(PAM_WINBIND_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ)
|
|
|
|
bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
|
|
$(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy
|
|
@echo Linking $@
|
|
@$(LINK) -o $@ $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
|
|
$(UBIQX_OBJ) $(LIBS) @BUILD_POPT@
|
|
|
|
bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_PICOOBJ)
|
|
@echo "Linking shared library $@"
|
|
$(SHLD) $(LDSHFLAGS) -symbolic -o $@ $(PAM_SMBPASS_PICOOBJ) -lpam $(LIBS) -lc
|
|
|
|
bin/libmsrpc.a: $(LIBMSRPC_PICOBJ)
|
|
-$(AR) -rc $@ $(LIBMSRPC_PICOBJ)
|
|
|
|
bin/spamsync: rpcclient/samsync.o bin/libmsrpc.a
|
|
@$(LINK) -o $@ rpcclient/samsync.o bin/libmsrpc.a \
|
|
$(UBIQX_OBJ) $(LIBS)
|
|
|
|
install: installbin installman installscripts installswat
|
|
|
|
installdirs:
|
|
-$(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \
|
|
$(BASEDIR) $(SBINDIR) $(BINDIR) $(LIBDIR) $(VARDIR)
|
|
|
|
installservers: all installdirs
|
|
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS)
|
|
|
|
installbin: all installdirs
|
|
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS)
|
|
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(PROGS)
|
|
|
|
installscripts: installdirs
|
|
@$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(BINDIR) $(SCRIPTS)
|
|
|
|
installswat: installdirs
|
|
@$(SHELL) $(srcdir)/script/installswat.sh $(SWATDIR) $(srcdir)
|
|
|
|
installclientlib:
|
|
-$(INSTALLCMD) bin/libsmbclient.so $(LIBDIR)
|
|
-$(INSTALLCMD) -d ${prefix}/include
|
|
-$(INSTALLCMD) include/libsmbclient.h ${prefix}/include
|
|
|
|
# revert to the previously installed version
|
|
revert:
|
|
@$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SPROGS)
|
|
@$(SHELL) $(srcdir)/script/revert.sh $(BINDIR) $(PROGS) $(SCRIPTS)
|
|
|
|
installman:
|
|
@$(SHELL) $(srcdir)/script/installman.sh $(MANDIR) $(srcdir) $(man_langs) "@ROFF@"
|
|
|
|
.PHONY: showlayout
|
|
|
|
showlayout:
|
|
@echo "Samba will be installed into:"
|
|
@echo " basedir: $(BASEDIR)"
|
|
@echo " bindir: $(BINDIR)"
|
|
@echo " sbindir: $(SBINDIR)"
|
|
@echo " libdir: $(LIBDIR)"
|
|
@echo " vardir: $(VARDIR)"
|
|
@echo " mandir: $(MANDIR)"
|
|
|
|
|
|
uninstall: uninstallman uninstallbin uninstallscripts
|
|
|
|
uninstallman:
|
|
@$(SHELL) $(srcdir)/script/uninstallman.sh $(MANDIR) $(srcdir) $(man_langs)
|
|
|
|
uninstallbin:
|
|
@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS)
|
|
@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(BASEDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(PROGS)
|
|
|
|
uninstallscripts:
|
|
@$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS) $(BINDIR) $(SCRIPTS)
|
|
|
|
clean: delheaders
|
|
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ $(PROGS) $(SPROGS) .headers.stamp
|
|
|
|
winbindd_proto:
|
|
@cd $(srcdir) && $(SHELL) script/mkproto.sh $(AWK) \
|
|
-h _WINBINDD_PROTO_H_ nsswitch/winbindd_proto.h \
|
|
$(WINBINDD_OBJ1)
|
|
|
|
delheaders:
|
|
@/bin/rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h
|
|
@/bin/rm -f include/proto.h include/build_env.h
|
|
|
|
# we want our generated headers to be rebuilt if they don't exist, but not rebuilt every time
|
|
.headers.stamp:
|
|
@[ -f $@ ] || touch $@
|
|
|
|
$(PROTO_OBJ) : .headers.stamp
|
|
|
|
include/proto.h:
|
|
@echo rebuilding include/proto.h
|
|
@cd $(srcdir) && $(AWK) -f script/mkproto.awk `echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | egrep -v 'ubiqx/|wrapped'` > $(builddir)/include/proto.h
|
|
|
|
include/build_env.h:
|
|
@echo rebuilding include/build_env.h
|
|
@cd $(srcdir) && $(SHELL) script/build_env.sh $(srcdir) $(builddir) $(CC) > $(builddir)/include/build_env.h
|
|
|
|
headers: delheaders include/proto.h include/build_env.h .headers.stamp
|
|
|
|
proto: headers winbindd_proto
|
|
|
|
etags:
|
|
etags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
|
|
|
|
ctags:
|
|
ctags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
|
|
|
|
realclean: clean
|
|
-rm -f config.log $(PROGS) $(SPROGS) bin/.dummy
|
|
-rmdir bin
|
|
|
|
distclean: realclean
|
|
-rm -f include/config.h Makefile
|
|
-rm -f config.status config.cache so_locations
|
|
-rm -rf .deps
|
|
|
|
# this target is really just for my use. It only works on a limited
|
|
# range of machines and is used to produce a list of potentially
|
|
# dead (ie. unused) functions in the code. (tridge)
|
|
finddead:
|
|
nm */*.o |grep 'U ' | awk '{print $$2}' | sort -u > nmused.txt
|
|
nm */*.o |grep 'T ' | awk '{print $$3}' | sort -u > nmfns.txt
|
|
comm -13 nmused.txt nmfns.txt
|
|
|
|
|
|
# when configure.in is updated, reconfigure
|
|
$(srcdir)/configure: $(srcdir)/configure.in
|
|
@echo "WARNING: you need to rerun autoconf"
|
|
|
|
config.status: $(srcdir)/configure
|
|
@echo "WARNING: you need to run configure"
|
|
|
|
Makefile: $(srcdir)/Makefile.in config.status
|
|
@echo "WARNING: you need to run ./config.status"
|
|
|
|
test_prefix=/tmp/test-samba
|
|
# Run regression suite using the external "satyr" framework
|
|
check:
|
|
@echo "** Sorry, samba self-test without installation does not work "
|
|
@echo "** yet. Please try specifying a scratch directory to"
|
|
@echo "** ./configure --prefix DIR"
|
|
@echo "** then run \"make install installcheck\""
|
|
exit 1
|
|
|
|
# -rm -rf $(test_prefix)/lib
|
|
# mkdir $(test_prefix)/lib -p ./testdir
|
|
# PATH=$(builddir)/bin:$(PATH) \
|
|
# SATYR_SUITEDIR=../testsuite/build_farm/ prefix=$(test_prefix) \
|
|
# testdir=./testdir $(SHELL) satyr
|
|
|
|
# Run regression suite on the installed version.
|
|
|
|
# `installcheck'
|
|
# Perform installation tests (if any). The user must build and
|
|
# install the program before running the tests. You should not
|
|
# assume that `$(bindir)' is in the search path.
|
|
|
|
dangerous-installcheck:
|
|
mkdir -p $(BASEDIR)/lib
|
|
mkdir -p $(BASEDIR)/var
|
|
PATH=$(BINDIR):$(SBINDIR):$(PATH) \
|
|
SATYR_DISCOURAGE=1 \
|
|
SATYR_SUITEDIR=../testsuite/satyr/ prefix=$(BASEDIR) \
|
|
LIBSMB_PROG=$(SBINDIR)/smbd \
|
|
testdir=./testdir $(SHELL) satyr
|
|
|