mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
312f4f3960
attempt at taking lib/uid.c and getting a unix security context
change module that is independent of "cnums" and "snums".
a security context is needed for pipes, not just IPC$ or other
services.
- group database API
added add_group/alias_member, del_group/alias_member,
del_group/alias_entry functions. del_builtin_entry() is
deliberately set to NULL to cause an exception, you cannot
delete builtin aliases.
- parse_lsa.c srv_lsa.c
fixed lookup_names code, it was a load of trash and didn't do
anything.
- cmd_samr.c rpcclient.c srv_samr.c
added "deletegroup", "deletealias", "delaliasmem", "delgroupmem",
"addgroupmem", "addaliasmem", "createalias", "creategroup", to
both client and server code.
server code calls into unix stubs right now, which don't actually
do anything. the only instance where they are expected to do
anything is in appliance mode NOT even in the ldap code or anything.
client code modified to call samr_lookup_names() for group code
(because we can) and lsa_lookup_names() for alias code (because
we have to).
- srv_lookup.c
oops, lookup on unsplit name, we got lookup on DOMAIN, DOMAIN\name
instead of DOMAIN, name.
(This used to be commit b8175702ef
)
573 lines
20 KiB
Makefile
573 lines
20 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@
|
|
|
|
INSTALLCMD=@INSTALL@
|
|
|
|
VPATH=@srcdir@
|
|
srcdir=@srcdir@
|
|
builddir=@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 = $(BASEDIR)/var
|
|
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))
|
|
SMBLOGFILE = $(VARDIR)/log.smb
|
|
NMBLOGFILE = $(VARDIR)/log.nmb
|
|
CONFIGFILE = $(LIBDIR)/smb.conf
|
|
LMHOSTSFILE = $(LIBDIR)/lmhosts
|
|
DRIVERFILE = $(LIBDIR)/printers.def
|
|
PASSWD_PROGRAM = /bin/passwd
|
|
SMB_PASSWD_FILE = $(BASEDIR)/private/smbpasswd
|
|
SMB_PASSGRP_FILE = $(BASEDIR)/private/smbpassgrp
|
|
SMB_GROUP_FILE = $(BASEDIR)/private/smbgroup
|
|
SMB_ALIAS_FILE = $(BASEDIR)/private/smbalias
|
|
SMB_PASSWD_PROGRAM = $(BINDIR)/smbpasswd
|
|
|
|
# This is where SWAT images and help files go
|
|
SWATDIR = $(BASEDIR)/swat
|
|
|
|
# the directory where lock files go
|
|
LOCKDIR = $(VARDIR)/locks
|
|
|
|
# The directory where code page definition files go
|
|
CODEPAGEDIR = $(LIBDIR)/codepages
|
|
|
|
# The current codepage definition list.
|
|
CODEPAGELIST= 437 737 850 852 861 932 866 949 950 936
|
|
|
|
# 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_PROGRAM=\"$(SMB_PASSWD_PROGRAM)\" \
|
|
-DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
|
|
-DSMB_PASSGRP_FILE=\"$(SMB_PASSGRP_FILE)\" \
|
|
-DSMB_GROUP_FILE=\"$(SMB_GROUP_FILE)\" \
|
|
-DSMB_ALIAS_FILE=\"$(SMB_ALIAS_FILE)\"
|
|
FLAGS1 = $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper $(CPPFLAGS) -DSMBLOGFILE=\"$(SMBLOGFILE)\" -DNMBLOGFILE=\"$(NMBLOGFILE)\"
|
|
FLAGS2 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"
|
|
FLAGS3 = -DSWATDIR=\"$(SWATDIR)\" -DSBINDIR=\"$(SBINDIR)\" -DLOCKDIR=\"$(LOCKDIR)\" -DSMBRUN=\"$(SMBRUN)\" -DCODEPAGEDIR=\"$(CODEPAGEDIR)\"
|
|
FLAGS4 = -DDRIVERFILE=\"$(DRIVERFILE)\" -DBINDIR=\"$(BINDIR)\"
|
|
FLAGS5 = $(FLAGS1) $(FLAGS2) $(FLAGS3) $(FLAGS4) -DHAVE_INCLUDES_H
|
|
FLAGS = $(FLAGS5) $(PASSWD_FLAGS)
|
|
|
|
SPROGS = bin/smbd bin/nmbd bin/swat
|
|
PROGS1 = bin/smbclient bin/testparm bin/testprns bin/smbrun bin/smbstatus
|
|
PROGS2 = bin/rpcclient bin/smbpasswd bin/make_smbcodepage @WRAP@ @WRAP32@
|
|
MPROGS = @MPROGS@
|
|
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/make_printerdef
|
|
|
|
SCRIPTS = script/smbtar script/addtosmbpass script/convert_smbpasswd
|
|
|
|
QUOTAOBJS=@QUOTAOBJS@
|
|
|
|
######################################################################
|
|
# object file lists
|
|
######################################################################
|
|
|
|
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/membuffer.o lib/netmask.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/util.o lib/genrand.o lib/username.o \
|
|
lib/access.o lib/smbrun.o \
|
|
lib/bitmap.o lib/crc32.o lib/util_sid.o lib/snprintf.o \
|
|
lib/util_str.o lib/util_unistr.o \
|
|
lib/util_file.o mem_man/mem_man.o \
|
|
lib/util_sock.o lib/unix_sec_ctxt.c
|
|
|
|
|
|
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/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
|
|
|
|
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_pipe.o \
|
|
rpc_server/srv_lookup.o \
|
|
rpc_server/srv_wkssvc.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_CLIENT_OBJ = \
|
|
rpc_client/cli_login.o \
|
|
rpc_client/cli_netlogon.o \
|
|
rpc_client/cli_reg.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
|
|
|
|
|
|
LOCKING_OBJ = locking/locking.o locking/locking_shm.o locking/locking_slow.o \
|
|
locking/shmem.o locking/shmem_sysv.o
|
|
|
|
GROUPDB_OBJ = groupdb/groupdb.o groupdb/aliasdb.o groupdb/builtindb.o \
|
|
groupdb/groupfile.o groupdb/aliasfile.o \
|
|
groupdb/groupunix.o groupdb/aliasunix.o groupdb/builtinunix.o \
|
|
passdb/passgrp.o passdb/smbpassgroup.o \
|
|
passdb/smbpassgroupunix.o
|
|
|
|
SAMPASSDB_OBJ = passdb/sampassdb.o passdb/sampass.o
|
|
|
|
PASSDB_OBJ = passdb/passdb.o passdb/smbpassfile.o passdb/smbpass.o \
|
|
passdb/pass_check.o passdb/ldap.o passdb/nispass.o \
|
|
passdb/smbpasschange.o \
|
|
lib/util_pwdb.o lib/domain_namemap.o lib/sids.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/mangle.o smbd/negprot.o \
|
|
smbd/message.o smbd/nttrans.o smbd/pipes.o smbd/predict.o \
|
|
smbd/$(QUOTAOBJS) smbd/reply.o smbd/ssl.o smbd/trans2.o smbd/uid.o \
|
|
smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o smbd/blocking.o \
|
|
smbd/process.o smbd/oplock.o smbd/service.o smbd/error.o
|
|
|
|
PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/printing.o
|
|
|
|
SMBD_OBJ = $(SMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
|
|
$(RPC_SERVER_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(LOCKING_OBJ) $(SAMPASSDB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
|
|
$(PRINTING_OBJ) $(LIB_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) \
|
|
$(PASSDB_OBJ) $(LIB_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ)
|
|
|
|
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
|
|
web/swat.o $(LIBSMB_OBJ) $(LOCKING_OBJ) \
|
|
$(PARAM_OBJ) $(PASSDB_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
SMBRUN_OBJ = utils/smbrun.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_PRINTERDEF_OBJ = utils/make_printerdef.o $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_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 $(PARAM_OBJ) $(LIBSMB_OBJ) \
|
|
$(PASSDB_OBJ) \
|
|
$(UBIQX_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(LIB_OBJ)
|
|
|
|
RPCCLIENT_OBJ = rpcclient/rpcclient.o \
|
|
rpcclient/display.o \
|
|
rpcclient/cmd_lsarpc.o \
|
|
rpcclient/cmd_wkssvc.o \
|
|
rpcclient/cmd_samr.o \
|
|
rpcclient/cmd_reg.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)
|
|
|
|
SMBWRAPPER_OBJ = smbwrapper/smbw.o smbwrapper/wrapped.o \
|
|
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
|
|
smbwrapper/realcalls.o smbwrapper/shared.o \
|
|
$(LIBSMB_OBJ) $(PARAM_OBJ) \
|
|
$(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
CLIENT_OBJ = client/client.o client/clitar.o \
|
|
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
|
|
|
|
MOUNT_OBJ = client/smbmount.o client/clientutil.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 $(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
|
|
|
|
PROTO_OBJ = $(SMBD_OBJ) $(NMBD_OBJ) $(SWAT_OBJ) $(CLIENT_OBJ) \
|
|
$(RPCCLIENT_OBJ) $(SMBWRAPPER_OBJ)
|
|
|
|
PICOBJS = $(SMBWRAPPER_OBJ:.o=.po)
|
|
PICOBJS32 = $(SMBWRAPPER_OBJ:.o=.po32)
|
|
|
|
######################################################################
|
|
# now the rules...
|
|
######################################################################
|
|
|
|
all : CHECK $(SPROGS) $(PROGS)
|
|
|
|
smbwrapper : CHECK bin/smbsh bin/smbwrapper.so @WRAP32@
|
|
|
|
smbtorture : CHECK bin/smbtorture
|
|
|
|
rpctorture : CHECK bin/rpctorture
|
|
|
|
debug2html : CHECK bin/debug2html
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o .po .po32
|
|
|
|
CHECK:
|
|
@echo "Using FLAGS = $(FLAGS)"
|
|
@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
|
|
|
|
# the lines below containing `@MAINT@' are for atomatic dependency tracking
|
|
# they will only work with GNU make, gcc and --enable-maintainer-mode
|
|
# without --enable-maintainer-mode, they do nothing
|
|
.c.o: @MAINT@ .deps/.dummy
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \
|
|
@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \
|
|
@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d
|
|
@echo Compiling $*.c
|
|
@$(CC) -I. -I$(srcdir) $(FLAGS) -c $< \
|
|
-o $@ @MAINT@ -Wp,-MD,.deps/$@
|
|
@MAINT@ @sed 's|^'`echo $@ | sed 's,.*/,,'`':|$@:|' \
|
|
@MAINT@ <.deps/$@ >.deps/$@d && \
|
|
@MAINT@ rm -f .deps/$@ && : >.deps/.stamp
|
|
|
|
.c.po: @MAINT@ .deps/.dummy
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \
|
|
@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \
|
|
@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d
|
|
@echo Compiling $*.c with @PICFLAG@
|
|
@$(CC) -I. -I$(srcdir) $(FLAGS) @PICFLAG@ -c $< \
|
|
-o $*.po.o @MAINT@ -Wp,-MD,.deps/$@
|
|
@MAINT@ @sed 's|^'`echo $*\.po\.o | sed 's,.*/,,'`':|$@:|' \
|
|
@MAINT@ <.deps/$@ >.deps/$@d && \
|
|
@MAINT@ rm -f .deps/$@ && : >.deps/.stamp
|
|
@mv $*.po.o $@
|
|
|
|
# this is for IRIX
|
|
.c.po32: @MAINT@ .deps/.dummy
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
|
|
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
|
|
@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \
|
|
@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \
|
|
@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d
|
|
@echo Compiling $*.c with @PICFLAG@ and -32
|
|
@$(CC) -32 -I. -I$(srcdir) $(FLAGS) @PICFLAG@ -c $< \
|
|
-o $*.po32.o @MAINT@ -Wp,-MD,.deps/$@
|
|
@MAINT@ @sed 's|^'`echo $*.po32.o | sed 's,.*/,,'`':|$@:|' \
|
|
@MAINT@ <.deps/$@ >.deps/$@d && \
|
|
@MAINT@ rm -f .deps/$@ && : >.deps/.stamp
|
|
@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/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/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS)
|
|
|
|
bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy
|
|
@echo Linking $@
|
|
@$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_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/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/smbwrapper.so: $(PICOBJS)
|
|
@echo Linking shared library $@
|
|
@$(LD) @LDSHFLAGS@ -o $@ $(PICOBJS) $(LIBS)
|
|
|
|
bin/smbwrapper.32.so: $(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)
|
|
|
|
install: installbin installman installscripts installcp installswat
|
|
|
|
installdirs:
|
|
$(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \
|
|
$(BASEDIR) $(SBINDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(CODEPAGEDIR)
|
|
|
|
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 */*.so
|
|
|
|
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
|
|
|
|
etags:
|
|
etags `find . -name "*.[ch]"`
|
|
|
|
ctags:
|
|
ctags `find . -name "*.[ch]"`
|
|
|
|
realclean: clean
|
|
-rm -f config.log $(PROGS) $(SPROGS) bin/.dummy
|
|
-rmdir bin
|
|
|
|
distclean: realclean
|
|
-rm -f include/config.h include/stamp-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
|
|
|
|
# Rules for maintainers (--enable-maintainer-mode)
|
|
AUTOCONF=@AUTOCONF@
|
|
AUTOHEADER=@AUTOHEADER@
|
|
|
|
# when configure.in is updated, reconfigure
|
|
$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4
|
|
cd $(srcdir) && $(AUTOCONF)
|
|
|
|
config.status: $(srcdir)/configure
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
Makefile: $(srcdir)/Makefile.in config.status \
|
|
include/stamp-h # just to ensure that config.h is up-to-date
|
|
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
|
|
|
# note that nothing depends on config.h, so will probably be rebuilt
|
|
# only when explicitly requested, unless dependency tracking is enabled
|
|
include/config.h: include/stamp-h
|
|
@:
|
|
|
|
include/stamp-h: $(srcdir)/include/config.h.in config.status
|
|
CONFIG_FILES= CONFIG_HEADERS=include/config.h $(SHELL) ./config.status
|
|
@echo > include/stamp-h
|
|
|
|
$(srcdir)/include/config.h.in: $(srcdir)/include/stamp-h.in
|
|
@:
|
|
|
|
$(srcdir)/include/stamp-h.in: @MAINT@ $(srcdir)/acconfig.h $(srcdir)/configure.in
|
|
cd $(srcdir) && $(AUTOHEADER)
|
|
@date -u > $@
|
|
|
|
# automatic dependency tracking rules
|
|
.deps/.dummy:
|
|
@if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \
|
|
dir=.deps $(MAKEDIR); fi
|
|
@: >> $@ || : > $@ # what a fancy emoticon!
|
|
|
|
.deps/.stamp: .deps/.dummy
|
|
@:
|
|
|
|
.deps/depend: .deps/.stamp
|
|
@echo Updating dependencies
|
|
@: | cat `find .deps -type f -name \*d` >$@ 2>/dev/null || true
|
|
|
|
@MAINT@-include .deps/depend
|