mirror of
https://github.com/samba-team/samba.git
synced 2025-02-10 13:57:47 +03:00
messaging system as a notification mechanism, and the speed of notification greatly exceeds the speed of message recovery, then you get a massively (>75Mb) growing tdb. If the message is a simple notification, then the message is static, and you only need one of them in transit to a target process at any one time. This patch adds a BOOL "allow_duplicates" to the message_send_XX primitives. If set to False, then before sending a message the sender checks the existing message queue for a target pid for a duplicate of this message, and doesn't add to it if one already exists. Also added code into msgtest.c to test this. Jeremy. (This used to be commit 3aa7995660395ecb85c8e35b638fa9fbbb952558)
685 lines
23 KiB
Makefile
685 lines
23 KiB
Makefile
###########################################################################
|
|
# Makefile.in for Samba - rewritten for autoconf support
|
|
# Copyright Andrew Tridgell 1992-1998
|
|
###########################################################################
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
mandir=@mandir@
|
|
|
|
LIBS=@LIBS@
|
|
CC=@CC@
|
|
CFLAGS=@CFLAGS@
|
|
CPPFLAGS=@CPPFLAGS@
|
|
LDFLAGS=@LDFLAGS@
|
|
AWK=@AWK@
|
|
|
|
LIBTOOL=@LIBTOOL@ --quiet
|
|
LIBTOOL_DEPS=@LIBTOOL_DEPS@
|
|
LINK=$(LIBTOOL) --mode=link $(CC) $(FLAGS) $(LDFLAGS)
|
|
|
|
INSTALLCMD=@INSTALL@
|
|
|
|
VPATH=@srcdir@
|
|
srcdir=@srcdir@
|
|
builddir=@builddir@
|
|
top_builddir=.
|
|
SHELL=/bin/sh
|
|
|
|
BASEDIR= @prefix@
|
|
BINDIR = @bindir@
|
|
# we don't use sbindir because we want full compatibility with
|
|
# the previous releases of Samba
|
|
SBINDIR = @bindir@
|
|
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
|
|
PASSWD_PROGRAM = /bin/passwd
|
|
# This is where smbpasswd et al go
|
|
PRIVATEDIR = @privatedir@
|
|
|
|
SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd
|
|
TDB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd.tdb
|
|
|
|
# This is where SWAT images and help files go
|
|
SWATDIR = @swatdir@
|
|
|
|
# the directory where lock files go
|
|
LOCKDIR = @lockdir@
|
|
|
|
# The directory where code page definition files go
|
|
CODEPAGEDIR = $(LIBDIR)/codepages
|
|
|
|
# The current codepage definition list.
|
|
CODEPAGELIST= 437 737 775 850 852 861 932 866 949 950 936 1251 ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI-R
|
|
|
|
# where you are going to have the smbrun binary. This defaults to the
|
|
# install directory. This binary is needed for correct printing
|
|
# and magic script execution. This should be an absolute path!
|
|
# Also not that this should include the name "smbrun" on the end (the
|
|
# name of the executable)
|
|
SMBRUN = $(BINDIR)/smbrun
|
|
|
|
|
|
PASSWD_FLAGS = -DPASSWD_PROGRAM=\"$(PASSWD_PROGRAM)\" -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" -DTDB_PASSWD_FILE=\"$(TDB_PASSWD_FILE)\"
|
|
FLAGS1 = $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper $(CPPFLAGS) -DLOGFILEBASE=\"$(LOGFILEBASE)\"
|
|
FLAGS2 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"
|
|
FLAGS3 = -DSWATDIR=\"$(SWATDIR)\" -DSBINDIR=\"$(SBINDIR)\" -DLOCKDIR=\"$(LOCKDIR)\" -DSMBRUN=\"$(SMBRUN)\" -DCODEPAGEDIR=\"$(CODEPAGEDIR)\"
|
|
FLAGS4 = -DDRIVERFILE=\"$(DRIVERFILE)\" -DBINDIR=\"$(BINDIR)\" -DFORMSFILE=\"$(FORMSFILE)\" -DNTDRIVERSDIR=\"$(NTDRIVERSDIR)\"
|
|
FLAGS5 = $(FLAGS1) $(FLAGS2) $(FLAGS3) $(FLAGS4) -DHAVE_INCLUDES_H
|
|
FLAGS = $(ISA) $(FLAGS5) $(PASSWD_FLAGS)
|
|
FLAGS32 = $(ISA32) $(FLAGS5) $(PASSWD_FLAGS)
|
|
|
|
SPROGS = bin/smbd bin/nmbd bin/swat
|
|
PROGS1 = bin/smbclient bin/smbspool bin/testparm bin/testprns bin/smbstatus bin/smbcontrol @RUNPROG@
|
|
PROGS2 = bin/smbpasswd bin/make_smbcodepage bin/make_unicodemap bin/rpcclient @WRAP@ @WRAP32@
|
|
MPROGS = @MPROGS@
|
|
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/make_printerdef
|
|
|
|
SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script/convert_smbpasswd
|
|
|
|
QUOTAOBJS=@QUOTAOBJS@
|
|
|
|
######################################################################
|
|
# object file lists
|
|
######################################################################
|
|
|
|
TDB_OBJ = tdb/tdb.o tdb/tdbutil.o
|
|
|
|
LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
|
|
lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \
|
|
lib/interfaces.o lib/pidfile.o lib/replace.o \
|
|
lib/signal.o lib/slprintf.o lib/system.o lib/doscalls.o lib/time.o \
|
|
lib/ufc.o lib/genrand.o lib/username.o lib/access.o lib/smbrun.o \
|
|
lib/bitmap.o lib/crc32.o lib/snprintf.o lib/wins_srv.o \
|
|
lib/util_array.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 \
|
|
nsswitch/wb_client.o nsswitch/wb_common.o \
|
|
$(TDB_OBJ)
|
|
|
|
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
|
|
|
|
LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
|
|
libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
|
|
libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \
|
|
libsmb/clitrans.o \
|
|
libsmb/namequery.o libsmb/nmblib.o \
|
|
libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
|
|
libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
|
|
libsmb/passchange.o libsmb/unexpected.o
|
|
|
|
RPC_SERVER_OBJ = rpc_server/srv_lsa.o \
|
|
rpc_server/srv_lsa_hnd.o rpc_server/srv_netlog.o \
|
|
rpc_server/srv_pipe_hnd.o rpc_server/srv_reg.o \
|
|
rpc_server/srv_samr.o rpc_server/srv_srvsvc.o \
|
|
rpc_server/srv_util.o rpc_server/srv_wkssvc.o \
|
|
rpc_server/srv_pipe.o rpc_server/srv_dfs.o \
|
|
rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o
|
|
|
|
RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_misc.o \
|
|
rpc_parse/parse_net.o rpc_parse/parse_prs.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_sec.o \
|
|
rpc_parse/parse_spoolss.o rpc_parse/parse_dfs.o \
|
|
rpc_parse/parse_creds.o
|
|
|
|
RPC_CLIENT_OBJ = \
|
|
rpc_client/cli_login.o \
|
|
rpc_client/cli_netlogon.o \
|
|
rpc_client/cli_pipe.o \
|
|
rpc_client/cli_lsarpc.o \
|
|
rpc_client/cli_wkssvc.o \
|
|
rpc_client/cli_srvsvc.o \
|
|
rpc_client/cli_samr.o \
|
|
rpc_client/cli_reg.o \
|
|
rpc_client/cli_spoolss_notify.o
|
|
|
|
LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
|
|
|
|
PASSDB_OBJ = passdb/passdb.o passdb/secrets.o \
|
|
passdb/pass_check.o passdb/smbpassfile.o \
|
|
passdb/machine_sid.o passdb/pdb_smbpasswd.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
|
|
|
|
SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.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/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/unix_acls.o lib/msrpc-client.o lib/msrpc_use.o \
|
|
smbd/process.o smbd/service.o smbd/error.o \
|
|
printing/printfsp.o lib/util_seaccess.o
|
|
|
|
PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_cups.o printing/load.o
|
|
|
|
PRINTBACKEND_OBJ = printing/printing.o printing/lpq_parse.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_CLIENT_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) \
|
|
$(PRINTBACKEND_OBJ) $(QUOTAOBJS) $(OPLOCK_OBJ) $(NOTIFY_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) \
|
|
$(LIB_OBJ)
|
|
|
|
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
|
|
web/swat.o lib/msrpc-client.o $(PRINTING_OBJ) $(LIBSMB_OBJ) $(LOCKING_OBJ) \
|
|
$(PARAM_OBJ) $(PASSDB_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
SMBRUN_OBJ = utils/smbrun.o lib/util_sec.o
|
|
|
|
SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
|
|
$(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MAKE_UNICODEMAP_OBJ = utils/make_unicodemap.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)
|
|
|
|
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 lib/msrpc-client.o $(PARAM_OBJ) \
|
|
$(LIBSMB_OBJ) $(PASSDB_OBJ) \
|
|
$(UBIQX_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(LIB_OBJ)
|
|
|
|
TDBEDIT_OBJ = utils/tdbedit.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
RPCCLIENT_OBJ1 = rpcclient/rpcclient.o \
|
|
lib/cmd_interp.o lib/util_list.o \
|
|
lib/msrpc-client.o \
|
|
rpc_client/cli_connect.o \
|
|
rpc_client/cli_use.o \
|
|
rpc_client/ncacn_np_use.o \
|
|
rpcclient/spoolss_cmds.o rpcclient/cmd_spoolss.o \
|
|
rpcclient/display_spool.o rpcclient/display_sec.o \
|
|
rpc_client/msrpc_spoolss.o rpc_client/cli_spoolss.o
|
|
|
|
RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ)
|
|
|
|
PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po
|
|
|
|
SMBW_OBJ = smbwrapper/smbw.o \
|
|
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
|
|
smbwrapper/realcalls.o smbwrapper/shared.o \
|
|
$(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
SMBWRAPPER_OBJ = $(SMBW_OBJ) smbwrapper/wrapped.o
|
|
|
|
CLIENT_OBJ = client/client.o client/clitar.o \
|
|
$(PARAM_OBJ) $(LIBSMB_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 = utils/torture.o utils/nbio.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MASKTEST_OBJ = utils/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MSGTEST_OBJ = utils/msgtest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
LOCKTEST_OBJ = utils/locktest.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
|
|
LOCKTEST2_OBJ = utils/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
RPCTORTURE_OBJ = utils/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)
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
WINBINDD_OBJ = \
|
|
$(WINBINDD_OBJ1) \
|
|
$(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(STUB_UID_OBJ) \
|
|
$(LIBNMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
|
|
$(NSSWINS_OBJ) $(SIDDB_OBJ) $(LIBSMB_OBJ)
|
|
|
|
WBINFO_OBJ = nsswitch/wbinfo.o nsswitch/wb_common.o
|
|
|
|
WINBIND_NSS_OBJ = nsswitch/winbind.o nsswitch/wb_common.o
|
|
|
|
WINBIND_NSS_PICOBJS = $(WINBIND_NSS_OBJ:.o=.po)
|
|
|
|
|
|
NSS_OBJ_0 = nsswitch/wins.o $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBSMB_OBJ) $(LIB_OBJ) $(NSSWINS_OBJ)
|
|
NSS_OBJ = $(NSS_OBJ_0:.o=.po)
|
|
|
|
######################################################################
|
|
# now the rules...
|
|
######################################################################
|
|
|
|
all : CHECK $(SPROGS) $(PROGS)
|
|
|
|
smbwrapper : CHECK bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@
|
|
|
|
smbtorture : CHECK bin/smbtorture
|
|
|
|
masktest : CHECK bin/masktest
|
|
|
|
msgtest : CHECK bin/msgtest
|
|
|
|
locktest : CHECK bin/locktest
|
|
|
|
locktest2 : CHECK bin/locktest2
|
|
|
|
rpctorture : CHECK bin/rpctorture
|
|
|
|
debug2html : CHECK bin/debug2html
|
|
|
|
smbfilter : CHECK bin/smbfilter
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o .po .po32 .lo
|
|
|
|
CHECK:
|
|
@echo "Using FLAGS = $(FLAGS)"
|
|
@echo "Using FLAGS32 = $(FLAGS32)"
|
|
@echo "Using LIBS = $(LIBS)"
|
|
|
|
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'` $@
|
|
|
|
# This is for libtool
|
|
.c.lo:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@echo Compiling $< with libtool
|
|
@$(LIBTOOL) --mode=compile \
|
|
$(CC) -I. -I$(srcdir) $(FLAGS) -c $< \
|
|
-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 $*.po.o
|
|
@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@.o
|
|
@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) @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/smbrun: $(SMBRUN_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBRUN_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/smbclient: $(CLIENT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
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) $(LIBS)
|
|
|
|
bin/smbmnt: $(MNT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LIBS)
|
|
|
|
bin/smbumount: $(UMOUNT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(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/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/tdbedit: $(TDBEDIT_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(TDBEDIT_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/make_unicodemap: $(MAKE_UNICODEMAP_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MAKE_UNICODEMAP_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/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/locktest: $(LOCKTEST_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(LOCKTEST_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 $@
|
|
@$(LD) @LDSHFLAGS@ -o $@ $(PICOBJS) $(LIBS)
|
|
|
|
bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32)
|
|
@echo Linking shared library $@
|
|
@$(LD) -32 @LDSHFLAGS@ -o $@ $(PICOBJS32) $(LIBS)
|
|
|
|
bin/smbsh: $(SMBSH_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
nsswitch/libnss_wins.so: $(NSS_OBJ)
|
|
@echo "Linking $@"
|
|
@$(LD) @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 $@"
|
|
@$(LINK) -shared -o $@ $(WINBIND_NSS_PICOBJS)
|
|
|
|
nsswitch/pam_winbind.so: $(PAM_WINBIND_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(LINK) -shared -o $@ $(PAM_WINBIND_OBJ)
|
|
|
|
bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) $(UBIQX_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(LINK) -o $@ $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
|
|
$(UBIQX_OBJ) $(LIBS)
|
|
|
|
nsswitch: nsswitch/libnss_wins.so nsswitch/pam_winbind.so \
|
|
nsswitch/libnss_winbind.so bin/wbinfo
|
|
|
|
install: installbin installman installscripts installcp installswat
|
|
|
|
installdirs:
|
|
$(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \
|
|
$(BASEDIR) $(SBINDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(CODEPAGEDIR)
|
|
|
|
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)
|
|
|
|
installcp: installdirs
|
|
@$(SHELL) $(srcdir)/script/installcp.sh $(srcdir) $(LIBDIR) $(CODEPAGEDIR) $(BINDIR) $(CODEPAGELIST)
|
|
|
|
installswat: installdirs
|
|
@$(SHELL) $(srcdir)/script/installswat.sh $(SWATDIR) $(srcdir)
|
|
|
|
# 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) "@ROFF@"
|
|
|
|
uninstall: uninstallman uninstallbin uninstallscripts uninstallcp
|
|
|
|
uninstallman:
|
|
@$(SHELL) $(srcdir)/script/uninstallman.sh $(MANDIR) $(srcdir)
|
|
|
|
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)
|
|
|
|
uninstallcp:
|
|
@$(SHELL) $(srcdir)/script/uninstallcp.sh $(CODEPAGEDIR) $(CODEPAGELIST)
|
|
|
|
clean:
|
|
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@
|
|
|
|
proto: rpc_client_proto
|
|
@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'` > include/proto.h
|
|
|
|
rpc_client_proto:
|
|
@cd $(srcdir) && $(SHELL) script/mkproto.sh $(AWK) \
|
|
-h _RPC_CLIENT_PROTO_H_ include/rpc_client_proto.h \
|
|
$(RPC_CLIENT_OBJ)
|
|
|
|
etags:
|
|
etags `find . -name "*.[ch]" | grep -v /CVS/`
|
|
|
|
ctags:
|
|
ctags `find . -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 for documenation updators. It regenerates
|
|
# the man pages and HTML docs from the YODL source files.
|
|
# In order for this target to work YODL must be installed
|
|
# and working on your system. JRA.
|
|
yodldocs:
|
|
@$(SHELL) $(srcdir)/script/makeyodldocs.sh $(srcdir)
|
|
|
|
# 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"
|