0001-01-01 02:30:17 +02:30
###########################################################################
# Makefile.in for Samba - rewritten for autoconf support
# Copyright Andrew Tridgell 1992-1998
###########################################################################
prefix = @prefix@
exec_prefix = @exec_prefix@
0001-01-01 02:30:17 +02:30
mandir = @mandir@
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
LIBS = @LIBS@
0001-01-01 02:30:17 +02:30
CC = @CC@
CFLAGS = @CFLAGS@
0001-01-01 02:30:17 +02:30
CPPFLAGS = @CPPFLAGS@
0001-01-01 02:30:17 +02:30
LDFLAGS = @LDFLAGS@
0001-01-01 02:30:17 +02:30
AWK = @AWK@
INSTALLCMD = @INSTALL@
VPATH = @srcdir@
srcdir = @srcdir@
0001-01-01 02:30:17 +02:30
builddir = @builddir@
0001-01-01 02:30:17 +02:30
SHELL = /bin/sh
0001-01-01 02:30:17 +02:30
BASEDIR = @prefix@
0001-01-01 02:30:17 +02:30
BINDIR = @bindir@
0001-01-01 02:30:17 +02:30
# we don't use sbindir because we want full compatibility with
# the previous releases of Samba
SBINDIR = @bindir@
0001-01-01 02:30:17 +02:30
LIBDIR = @libdir@
0001-01-01 02:30:17 +02:30
VARDIR = $( BASEDIR) /var
0001-01-01 02:30:17 +02:30
MANDIR = @mandir@
0001-01-01 02:30:17 +02:30
# 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
0001-01-01 02:30:17 +02:30
PASSWD_PROGRAM = /bin/passwd
0001-01-01 02:30:17 +02:30
SMB_PASSWD_FILE = $( BASEDIR) /private/smbpasswd
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
SMB_PASSGRP_FILE = $( BASEDIR) /private/smbpassgrp
SMB_GROUP_FILE = $( BASEDIR) /private/smbgroup
SMB_ALIAS_FILE = $( BASEDIR) /private/smbalias
0001-01-01 02:30:17 +02:30
SMB_PASSWD_PROGRAM = $( BINDIR) /smbpasswd
0001-01-01 02:30:17 +02:30
# 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
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
# 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
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
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) \"
0001-01-01 02:30:17 +02:30
FLAGS1 = $( CFLAGS) -Iinclude -I$( srcdir) /include -I$( srcdir) /ubiqx -I$( srcdir) /smbwrapper $( CPPFLAGS) -DSMBLOGFILE= \" $( SMBLOGFILE) \" -DNMBLOGFILE= \" $( NMBLOGFILE) \"
0001-01-01 02:30:17 +02:30
FLAGS2 = -DCONFIGFILE= \" $( CONFIGFILE) \" -DLMHOSTSFILE= \" $( LMHOSTSFILE) \"
0001-01-01 02:30:17 +02:30
FLAGS3 = -DSWATDIR= \" $( SWATDIR) \" -DSBINDIR= \" $( SBINDIR) \" -DLOCKDIR= \" $( LOCKDIR) \" -DSMBRUN= \" $( SMBRUN) \" -DCODEPAGEDIR= \" $( CODEPAGEDIR) \"
0001-01-01 02:30:17 +02:30
FLAGS4 = -DDRIVERFILE= \" $( DRIVERFILE) \" -DBINDIR= \" $( BINDIR) \"
0001-01-01 02:30:17 +02:30
FLAGS5 = $( FLAGS1) $( FLAGS2) $( FLAGS3) $( FLAGS4) -DHAVE_INCLUDES_H
FLAGS = $( FLAGS5) $( PASSWD_FLAGS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SPROGS = bin/smbd bin/nmbd bin/swat
PROGS1 = bin/smbclient bin/testparm bin/testprns bin/smbrun bin/smbstatus
0001-01-01 02:30:17 +02:30
PROGS2 = bin/rpcclient bin/smbpasswd bin/make_smbcodepage bin/debug2html
PROGS3 = @WRAP@ @WRAP32@
0001-01-01 02:30:17 +02:30
MPROGS = @MPROGS@
0001-01-01 02:30:17 +02:30
PROGS = $( PROGS1) $( PROGS2) $( PROGS3) $( MPROGS) bin/nmblookup bin/make_printerdef
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SCRIPTS = script/smbtar script/addtosmbpass script/convert_smbpasswd
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
QUOTAOBJS = @QUOTAOBJS@
0001-01-01 02:30:17 +02:30
######################################################################
0001-01-01 02:30:17 +02:30
# object file lists
0001-01-01 02:30:17 +02:30
######################################################################
0001-01-01 02:30:17 +02:30
LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
0001-01-01 02:30:17 +02:30
lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \
lib/membuffer.o lib/netmask.o lib/pidfile.o lib/replace.o \
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
lib/access.o lib/smbrun.o \
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
lib/util_sock.o lib/unix_sec_ctxt.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
0001-01-01 02:30:17 +02:30
ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PARAM_OBJ = param/loadparm.o param/params.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
LIBSMB_OBJ = libsmb/clientgen.o libsmb/namequery.o libsmb/nmblib.o \
0001-01-01 02:30:17 +02:30
libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
0001-01-01 02:30:17 +02:30
libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
libsmb/passchange.o
0001-01-01 02:30:17 +02:30
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
rpc_server/srv_svcctl.o \
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
rpc_server/srv_pipe.o \
rpc_server/srv_lookup.o \
rpc_server/srv_wkssvc.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
rpc_parse/parse_wks.o rpc_parse/parse_sec.o \
rpc_parse/parse_svc.o
0001-01-01 02:30:17 +02:30
Makefile.in :
- added srvsvc client files
clientgen.c :
- replaced cli_error(cli, int *cls, int *err) with
cli_error(cli, uint8 cls, uint32 *err). this version detects
32 bit status messages. the DOS error "MORE_DATA", the
equivalent of the 32 bit *warning* 0x8000 0005
(STATUS_BUFFER_OVERFLOW), was being processed as an error,
terminating the cli_receive_trans() call.
cli_pipe.c :
- replaced calls that had been incorrectly modified from
32 bit warnings (0x8000 0005 - STATUS_BUFFER_OVERFLOW)
to 8 bit DOS errors (0x01 0xEA - MORE_DATA).
the use of the old version of cli_error (DOS only)
instead of the new one (DOS and 32 bit) caused the
dce/rpc client code to fail.
- replaced 2 space indentation with tab indentation in all functions.
cli_srvsvc.c :
cmd_srvsvc.c :
- added these files back in, fixing them up to use jeremy's
modified versions of the dce/rpc client functions.
parse_srv.c :
- added back in some "unused" functions required by dce/rpc
client-side code. it would be helpful if all such "unused"
functions could be added back in.
rpcclient.c :
- added "session", "file", "share", "connection" enumeration
functions back in. these are equivalent to nt's "NetXXXXXEnum"
Win32 (MSDN) functions.
- added "srvinfo" function back in. this is equivalent to
nt's NetServerGetInfo Win32 (MSDN) function.
0001-01-01 02:30:17 +02:30
RPC_CLIENT_OBJ = \
rpc_client/cli_login.o \
rpc_client/cli_netlogon.o \
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
rpc_client/cli_reg.o \
Makefile.in :
- added srvsvc client files
clientgen.c :
- replaced cli_error(cli, int *cls, int *err) with
cli_error(cli, uint8 cls, uint32 *err). this version detects
32 bit status messages. the DOS error "MORE_DATA", the
equivalent of the 32 bit *warning* 0x8000 0005
(STATUS_BUFFER_OVERFLOW), was being processed as an error,
terminating the cli_receive_trans() call.
cli_pipe.c :
- replaced calls that had been incorrectly modified from
32 bit warnings (0x8000 0005 - STATUS_BUFFER_OVERFLOW)
to 8 bit DOS errors (0x01 0xEA - MORE_DATA).
the use of the old version of cli_error (DOS only)
instead of the new one (DOS and 32 bit) caused the
dce/rpc client code to fail.
- replaced 2 space indentation with tab indentation in all functions.
cli_srvsvc.c :
cmd_srvsvc.c :
- added these files back in, fixing them up to use jeremy's
modified versions of the dce/rpc client functions.
parse_srv.c :
- added back in some "unused" functions required by dce/rpc
client-side code. it would be helpful if all such "unused"
functions could be added back in.
rpcclient.c :
- added "session", "file", "share", "connection" enumeration
functions back in. these are equivalent to nt's "NetXXXXXEnum"
Win32 (MSDN) functions.
- added "srvinfo" function back in. this is equivalent to
nt's NetServerGetInfo Win32 (MSDN) function.
0001-01-01 02:30:17 +02:30
rpc_client/cli_pipe.o \
rpc_client/cli_lsarpc.o \
rpc_client/cli_wkssvc.o \
rpc_client/cli_srvsvc.o \
0001-01-01 02:30:17 +02:30
rpc_client/cli_svcctl.o \
Makefile.in :
- added srvsvc client files
clientgen.c :
- replaced cli_error(cli, int *cls, int *err) with
cli_error(cli, uint8 cls, uint32 *err). this version detects
32 bit status messages. the DOS error "MORE_DATA", the
equivalent of the 32 bit *warning* 0x8000 0005
(STATUS_BUFFER_OVERFLOW), was being processed as an error,
terminating the cli_receive_trans() call.
cli_pipe.c :
- replaced calls that had been incorrectly modified from
32 bit warnings (0x8000 0005 - STATUS_BUFFER_OVERFLOW)
to 8 bit DOS errors (0x01 0xEA - MORE_DATA).
the use of the old version of cli_error (DOS only)
instead of the new one (DOS and 32 bit) caused the
dce/rpc client code to fail.
- replaced 2 space indentation with tab indentation in all functions.
cli_srvsvc.c :
cmd_srvsvc.c :
- added these files back in, fixing them up to use jeremy's
modified versions of the dce/rpc client functions.
parse_srv.c :
- added back in some "unused" functions required by dce/rpc
client-side code. it would be helpful if all such "unused"
functions could be added back in.
rpcclient.c :
- added "session", "file", "share", "connection" enumeration
functions back in. these are equivalent to nt's "NetXXXXXEnum"
Win32 (MSDN) functions.
- added "srvinfo" function back in. this is equivalent to
nt's NetServerGetInfo Win32 (MSDN) function.
0001-01-01 02:30:17 +02:30
rpc_client/cli_samr.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
LOCKING_OBJ = locking/locking.o locking/locking_shm.o locking/locking_slow.o \
locking/shmem.o locking/shmem_sysv.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
groupdb/groupldap.o groupdb/aliasldap.o groupdb/builtinldap.o \
0001-01-01 02:30:17 +02:30
passdb/passgrp.o passdb/smbpassgroup.o \
0001-01-01 02:30:17 +02:30
passdb/smbpassgroupunix.o passdb/passgrpldap.o
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SAMPASSDB_OBJ = passdb/sampassdb.o passdb/sampass.o passdb/sampassldap.o passdb/mysqlsampass.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PASSDB_OBJ = passdb/passdb.o passdb/smbpassfile.o passdb/smbpass.o \
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
passdb/pass_check.o passdb/ldap.o passdb/nispass.o \
0001-01-01 02:30:17 +02:30
passdb/smbpasschange.o passdb/mysqlpass.o \
0001-01-01 02:30:17 +02:30
lib/util_pwdb.o lib/domain_namemap.o lib/sids.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PROFILE_OBJ = profile/profile.o
0001-01-01 02:30:17 +02:30
SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \
0001-01-01 02:30:17 +02:30
smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \
0001-01-01 02:30:17 +02:30
smbd/ipc.o smbd/mangle.o smbd/negprot.o \
0001-01-01 02:30:17 +02:30
smbd/message.o smbd/nttrans.o smbd/pipes.o smbd/predict.o \
0001-01-01 02:30:17 +02:30
smbd/$( QUOTAOBJS) smbd/reply.o smbd/ssl.o smbd/trans2.o smbd/uid.o \
0001-01-01 02:30:17 +02:30
smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o smbd/blocking.o \
0001-01-01 02:30:17 +02:30
smbd/process.o smbd/oplock.o smbd/service.o smbd/error.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/printing.o
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SMBD_OBJ = $( SMBD_OBJ1) $( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) \
$( RPC_SERVER_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
0001-01-01 02:30:17 +02:30
$( LOCKING_OBJ) $( SAMPASSDB_OBJ) $( PASSDB_OBJ) $( GROUPDB_OBJ) \
0001-01-01 02:30:17 +02:30
$( PRINTING_OBJ) $( PROFILE_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
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 \
0001-01-01 02:30:17 +02:30
nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o
0001-01-01 02:30:17 +02:30
NMBD_OBJ = $( NMBD_OBJ1) $( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) \
0001-01-01 02:30:17 +02:30
$( LIB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
0001-01-01 02:30:17 +02:30
web/swat.o $( LIBSMB_OBJ) $( LOCKING_OBJ) \
0001-01-01 02:30:17 +02:30
$( PARAM_OBJ) $( PASSDB_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
SMBRUN_OBJ = utils/smbrun.o
0001-01-01 02:30:17 +02:30
SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
$( PARAM_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o $( PARAM_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o $( PARAM_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
STATUS_OBJ = utils/status.o $( LOCKING_OBJ) $( PARAM_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( PROFILE_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
TESTPARM_OBJ = utils/testparm.o \
0001-01-01 02:30:17 +02:30
$( PARAM_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
TESTPRNS_OBJ = utils/testprns.o $( PARAM_OBJ) $( PRINTING_OBJ) $( UBIQX_OBJ) \
0001-01-01 02:30:17 +02:30
$( LIB_OBJ)
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
SMBPASSWD_OBJ = utils/smbpasswd.o $( PARAM_OBJ) $( LIBSMB_OBJ) \
$( PASSDB_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
RPCCLIENT_OBJ = rpcclient/rpcclient.o \
0001-01-01 02:30:17 +02:30
rpcclient/display.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_lsarpc.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_wkssvc.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_samr.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_reg.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_srvsvc.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_svcctl.o \
0001-01-01 02:30:17 +02:30
rpcclient/cmd_netlogon.o \
0001-01-01 02:30:17 +02:30
$( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) $( LIB_OBJ) \
0001-01-01 02:30:17 +02:30
$( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) $( PASSDB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
SMBWRAPPER_OBJ = smbwrapper/smbw.o smbwrapper/wrapped.o \
0001-01-01 02:30:17 +02:30
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
0001-01-01 02:30:17 +02:30
smbwrapper/realcalls.o smbwrapper/shared.o \
0001-01-01 02:30:17 +02:30
$( LIBSMB_OBJ) $( PARAM_OBJ) \
$( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
CLIENT_OBJ = client/client.o client/clitar.o \
0001-01-01 02:30:17 +02:30
$( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
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)
0001-01-01 02:30:17 +02:30
NMBLOOKUP_OBJ = utils/nmblookup.o $( PARAM_OBJ) $( UBIQX_OBJ) \
0001-01-01 02:30:17 +02:30
$( LIBSMB_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
DEBUG2HTML_OBJ = utils/debug2html.o $( PARAM_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
SMBTORTURE_OBJ = utils/torture.o $( LIBSMB_OBJ) $( PARAM_OBJ) \
0001-01-01 02:30:17 +02:30
$( UBIQX_OBJ) $( LIB_OBJ)
0001-01-01 02:30:17 +02:30
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) \
- group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
0001-01-01 02:30:17 +02:30
$( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
$( PASSDB_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PROTO_OBJ = $( SMBD_OBJ) $( NMBD_OBJ) $( SWAT_OBJ) $( CLIENT_OBJ) \
$( RPCCLIENT_OBJ) $( SMBWRAPPER_OBJ)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
PICOBJS = $( SMBWRAPPER_OBJ:.o= .po)
0001-01-01 02:30:17 +02:30
PICOBJS32 = $( SMBWRAPPER_OBJ:.o= .po32)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
######################################################################
# now the rules...
######################################################################
0001-01-01 02:30:17 +02:30
all : CHECK $( SPROGS ) $( PROGS )
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
smbwrapper : CHECK bin /smbsh bin /smbwrapper .so @WRAP 32@
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
smbtorture : CHECK bin /smbtorture
0001-01-01 02:30:17 +02:30
rpctorture : CHECK bin /rpctorture
0001-01-01 02:30:17 +02:30
.SUFFIXES :
0001-01-01 02:30:17 +02:30
.SUFFIXES : .c .o .po .po 32
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
CHECK :
@echo " Using FLAGS = $( FLAGS) "
@echo " Using LIBS = $( LIBS) "
0001-01-01 02:30:17 +02:30
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
0001-01-01 02:30:17 +02:30
# 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
0001-01-01 02:30:17 +02:30
.c.o : @MAINT @ .deps /.dummy
0001-01-01 02:30:17 +02:30
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then rm -f $@ ; else \
0001-01-01 02:30:17 +02:30
dir = ` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` $( MAKEDIR) ; fi
0001-01-01 02:30:17 +02:30
@MAINT@ @if ( : >> .deps /$@ | | : > .deps /$@) >/dev /null 2>&1; then :; \
@ M A I N T @ e l s e dir = .deps/` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` \
@ M A I N T @ $( MAKEDIR ) ; f i ; r m - f . d e p s / $@ . d e p s / $@ d
0001-01-01 02:30:17 +02:30
@echo Compiling $* .c
0001-01-01 02:30:17 +02:30
@$( CC) -I. -I$( srcdir) $( FLAGS) -c $< \
0001-01-01 02:30:17 +02:30
-o $@ @MAINT@ -Wp,-MD,.deps/$@
@MAINT@ @sed 's|^'`echo $@ | sed 's,.*/,,'`' : | $@:| ' \
0001-01-01 02:30:17 +02:30
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
.c.po : @MAINT @ .deps /.dummy
0001-01-01 02:30:17 +02:30
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then rm -f $@ ; else \
0001-01-01 02:30:17 +02:30
dir = ` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` $( MAKEDIR) ; fi
0001-01-01 02:30:17 +02:30
@MAINT@ @if ( : >> .deps /$@ | | : > .deps /$@) >/dev /null 2>&1; then :; \
@ M A I N T @ e l s e dir = .deps/` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` \
@ M A I N T @ $( MAKEDIR ) ; f i ; r m - f . d e p s / $@ . d e p s / $@ d
0001-01-01 02:30:17 +02:30
@echo Compiling $* .c with @PICFLAG@
0001-01-01 02:30:17 +02:30
@$( CC) -I. -I$( srcdir) $( FLAGS) @PICFLAG@ -c $< \
0001-01-01 02:30:17 +02:30
-o $* .po.o @MAINT@ -Wp,-MD,.deps/$@
@MAINT@ @sed 's|^'`echo $*\.po\.o | sed 's,.*/,,'`' : | $@:| ' \
0001-01-01 02:30:17 +02:30
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
0001-01-01 02:30:17 +02:30
@mv $* .po.o $@
0001-01-01 02:30:17 +02:30
# 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
0001-01-01 02:30:17 +02:30
@MAINT@ @if ( : >> .deps /$@ | | : > .deps /$@) >/dev /null 2>&1; then :; \
@ M A I N T @ e l s e dir = .deps/` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` \
@ M A I N T @ $( MAKEDIR ) ; f i ; r m - f . d e p s / $@ . d e p s / $@ d
0001-01-01 02:30:17 +02:30
@echo Compiling $* .c with @PICFLAG@ and -32
0001-01-01 02:30:17 +02:30
@$( CC) -32 -I. -I$( srcdir) $( FLAGS) @PICFLAG@ -c $< \
0001-01-01 02:30:17 +02:30
-o $* .po32.o @MAINT@ -Wp,-MD,.deps/$@
@MAINT@ @sed 's|^'`echo $*.po32.o | sed 's,.*/,,'`' : | $@:| ' \
0001-01-01 02:30:17 +02:30
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
0001-01-01 02:30:17 +02:30
@mv $* .po32.o $@
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/.dummy :
0001-01-01 02:30:17 +02:30
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then :; else \
0001-01-01 02:30:17 +02:30
dir = bin $( MAKEDIR) ; fi
0001-01-01 02:30:17 +02:30
@: >> $@ || : > $@ # what a fancy emoticon!
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbd : $( SMBD_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( SMBD_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/nmbd : $( NMBD_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( NMBD_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/swat : $( SWAT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( SWAT_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbrun : $( SMBRUN_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( SMBRUN_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/rpcclient : $( RPCCLIENT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( RPCCLIENT_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbclient : $( CLIENT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( CLIENT_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbmount : $( MOUNT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( MOUNT_OBJ) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/smbmnt : $( MNT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( MNT_OBJ) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/smbumount : $( UMOUNT_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( UMOUNT_OBJ) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/testparm : $( TESTPARM_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( TESTPARM_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/testprns : $( TESTPRNS_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( TESTPRNS_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbstatus : $( STATUS_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( STATUS_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbpasswd : $( SMBPASSWD_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( SMBPASSWD_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/make_smbcodepage : $( MAKE_SMBCODEPAGE_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( MAKE_SMBCODEPAGE_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/nmblookup : $( NMBLOOKUP_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( NMBLOOKUP_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/make_printerdef : $( MAKE_PRINTERDEF_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( MAKE_PRINTERDEF_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbtorture : $( SMBTORTURE_OBJ ) bin /.dummy
0001-01-01 02:30:17 +02:30
@echo Linking $@
0001-01-01 02:30:17 +02:30
@$( CC) $( FLAGS) -o $@ $( SMBTORTURE_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/rpctorture : $( RPCTORTURE_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( RPCTORTURE_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/debug2html : $( DEBUG 2HTML_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( DEBUG2HTML_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/smbwrapper.so : $( PICOBJS )
0001-01-01 02:30:17 +02:30
@echo Linking shared library $@
0001-01-01 02:30:17 +02:30
@$( LD) @LDSHFLAGS@ -o $@ $( PICOBJS) $( LIBS)
0001-01-01 02:30:17 +02:30
bin/smbwrapper.32.so : $( PICOBJS 32)
0001-01-01 02:30:17 +02:30
@echo Linking shared library $@
@$( LD) -32 @LDSHFLAGS@ -o $@ $( PICOBJS32) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
bin/smbsh : $( SMBSH_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( SMBSH_OBJ) $( LDFLAGS) $( LIBS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
install : installbin installman installscripts installcp installswat
0001-01-01 02:30:17 +02:30
installdirs :
$( SHELL) $( srcdir) /install-sh -d -m $( INSTALLPERMS) \
$( BASEDIR) $( SBINDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( CODEPAGEDIR)
installbin : all installdirs
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/installbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/installbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
installscripts : installdirs
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/installscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
installcp : installdirs
@$( SHELL) $( srcdir) /script/installcp.sh $( srcdir) $( LIBDIR) $( CODEPAGEDIR) $( BINDIR) $( CODEPAGELIST)
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
installswat : installdirs
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/installswat.sh $( SWATDIR) $( srcdir)
0001-01-01 02:30:17 +02:30
# revert to the previously installed version
revert :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/revert.sh $( SBINDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/revert.sh $( BINDIR) $( PROGS) $( SCRIPTS)
0001-01-01 02:30:17 +02:30
installman :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/installman.sh $( MANDIR) $( srcdir) "@ROFF@"
0001-01-01 02:30:17 +02:30
uninstall : uninstallman uninstallbin uninstallscripts uninstallcp
uninstallman :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/uninstallman.sh $( MANDIR) $( srcdir)
0001-01-01 02:30:17 +02:30
uninstallbin :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
0001-01-01 02:30:17 +02:30
uninstallscripts :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/uninstallscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
0001-01-01 02:30:17 +02:30
uninstallcp :
0001-01-01 02:30:17 +02:30
@$( SHELL) $( srcdir) /script/uninstallcp.sh $( CODEPAGEDIR) $( CODEPAGELIST)
0001-01-01 02:30:17 +02:30
clean :
0001-01-01 02:30:17 +02:30
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.so
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
proto :
0001-01-01 02:30:17 +02:30
@echo rebuilding include/proto.h
0001-01-01 02:30:17 +02:30
@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
0001-01-01 02:30:17 +02:30
etags :
etags ` find . -name "*.[ch]" `
ctags :
ctags ` find . -name "*.[ch]" `
realclean : clean
0001-01-01 02:30:17 +02:30
-rm -f config.log $( PROGS) $( SPROGS) bin/.dummy
0001-01-01 02:30:17 +02:30
-rmdir bin
0001-01-01 02:30:17 +02:30
distclean : realclean
0001-01-01 02:30:17 +02:30
-rm -f include/config.h include/stamp-h Makefile
0001-01-01 02:30:17 +02:30
-rm -f config.status config.cache so_locations
0001-01-01 02:30:17 +02:30
-rm -rf .deps
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
#
# 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)
0001-01-01 02:30:17 +02:30
# 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
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
# Rules for maintainers (--enable-maintainer-mode)
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
# when configure.in is updated, reconfigure
$(srcdir)/configure : @MAINT @ $( srcdir ) /configure .in $( srcdir ) /aclocal .m 4
cd $( srcdir) && $( AUTOCONF)
0001-01-01 02:30:17 +02:30
config.status : $( srcdir ) /configure
$( SHELL) ./config.status --recheck
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
Makefile : $( srcdir ) /Makefile .in config .status \
include/stamp-h # just to ensure that config.h is up-to-date
0001-01-01 02:30:17 +02:30
CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
# note that nothing depends on config.h, so will probably be rebuilt
0001-01-01 02:30:17 +02:30
# only when explicitly requested, unless dependency tracking is enabled
0001-01-01 02:30:17 +02:30
include/config.h : include /stamp -h
@:
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
include/stamp-h : $( srcdir ) /include /config .h .in config .status
CONFIG_FILES = CONFIG_HEADERS = include/config.h $( SHELL) ./config.status
0001-01-01 02:30:17 +02:30
@echo > include/stamp-h
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
$(srcdir)/include/config.h.in : $( srcdir ) /include /stamp -h .in
@:
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
$(srcdir)/include/stamp-h.in : @MAINT @ $( srcdir ) /acconfig .h $( srcdir ) /configure .in
cd $( srcdir) && $( AUTOHEADER)
0001-01-01 02:30:17 +02:30
@date -u > $@
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
# automatic dependency tracking rules
.deps/.dummy :
0001-01-01 02:30:17 +02:30
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then :; else \
0001-01-01 02:30:17 +02:30
dir = .deps $( MAKEDIR) ; fi
0001-01-01 02:30:17 +02:30
@: >> $@ || : > $@ # what a fancy emoticon!
0001-01-01 02:30:17 +02:30
.deps/.stamp : .deps /.dummy
@:
0001-01-01 02:30:17 +02:30
.deps/depend : .deps /.stamp
@echo Updating dependencies
@: | cat ` find .deps -type f -name \* d` >$@ 2>/dev/null || true
0001-01-01 02:30:17 +02:30
0001-01-01 02:30:17 +02:30
@ M A I N T @ - i n c l u d e . d e p s / d e p e n d