1998-07-29 07:08:05 +04:00
###########################################################################
# Makefile.in for Samba - rewritten for autoconf support
# Copyright Andrew Tridgell 1992-1998
###########################################################################
prefix = @prefix@
exec_prefix = @exec_prefix@
1998-08-11 06:13:01 +04:00
mandir = @mandir@
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
LIBS = @LIBS@
1998-07-29 07:08:05 +04:00
CC = @CC@
CFLAGS = @CFLAGS@
1998-09-26 07:30:15 +04:00
LDFLAGS = @LDFLAGS@
1998-07-29 07:08:05 +04:00
AWK = @AWK@
INSTALLCMD = @INSTALL@
VPATH = @srcdir@
srcdir = @srcdir@
1998-10-05 02:42:05 +04:00
builddir = @builddir@
1998-07-29 07:08:05 +04:00
SHELL = /bin/sh
1998-11-18 01:06:59 +03:00
BASEDIR = @prefix@
BINDIR = @bindir@
SBINDIR = @sbindir@
LIBDIR = @libdir@
1998-07-29 07:08:05 +04:00
VARDIR = $( BASEDIR) /var
1998-11-18 01:06:59 +03:00
MANDIR = @mandir@
1998-07-29 07:08:05 +04:00
# 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
1998-11-10 03:37:14 +03:00
PASSWD_PROGRAM = /bin/passwd
1998-07-29 07:08:05 +04:00
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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
SMB_PASSGRP_FILE = $( BASEDIR) /private/smbpassgrp
SMB_GROUP_FILE = $( BASEDIR) /private/smbgroup
SMB_ALIAS_FILE = $( BASEDIR) /private/smbalias
1998-11-20 01:37:33 +03:00
SMB_PASSWD_PROGRAM = $( BINDIR) /smbpasswd
1998-07-29 07:08:05 +04:00
# 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
1998-08-09 17:25:34 +04:00
1998-07-29 07:08:05 +04:00
# 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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
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) \"
1998-11-20 01:37:33 +03:00
FLAGS1 = $( CFLAGS) -Iinclude -I$( srcdir) /include -I$( srcdir) /ubiqx -I$( srcdir) /smbwrapper $( CPPFLAGS) -DSMBLOGFILE= \" $( SMBLOGFILE) \" -DNMBLOGFILE= \" $( NMBLOGFILE) \"
1998-08-09 17:25:34 +04:00
FLAGS2 = -DCONFIGFILE= \" $( CONFIGFILE) \" -DLMHOSTSFILE= \" $( LMHOSTSFILE) \"
1998-07-29 07:08:05 +04:00
FLAGS3 = -DSWATDIR= \" $( SWATDIR) \" -DSBINDIR= \" $( SBINDIR) \" -DLOCKDIR= \" $( LOCKDIR) \" -DSMBRUN= \" $( SMBRUN) \" -DCODEPAGEDIR= \" $( CODEPAGEDIR) \"
1998-10-13 12:26:48 +04:00
FLAGS4 = -DDRIVERFILE= \" $( DRIVERFILE) \" -DBINDIR= \" $( BINDIR) \"
1998-08-09 17:25:34 +04:00
FLAGS5 = $( FLAGS1) $( FLAGS2) $( FLAGS3) $( FLAGS4) -DHAVE_INCLUDES_H
FLAGS = $( FLAGS5) $( PASSWD_FLAGS)
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
SPROGS = bin/smbd bin/nmbd bin/swat
PROGS1 = bin/smbclient bin/testparm bin/testprns bin/smbrun bin/smbstatus
1998-10-23 05:51:31 +04:00
PROGS2 = bin/rpcclient bin/smbpasswd bin/make_smbcodepage @WRAP@ @WRAP32@
1998-09-28 23:18:21 +04:00
MPROGS = @MPROGS@
PROGS = $( PROGS1) $( PROGS2) $( MPROGS) bin/nmblookup bin/make_printerdef
1998-07-29 07:08:05 +04:00
1998-11-05 05:58:37 +03:00
SCRIPTS = script/smbtar script/addtosmbpass script/convert_smbpasswd
1998-07-29 07:08:05 +04:00
1998-11-03 05:25:28 +03:00
QUOTAOBJS = @QUOTAOBJS@
1998-07-29 07:08:05 +04:00
######################################################################
1998-08-09 17:25:34 +04:00
# object file lists
1998-07-29 07:08:05 +04:00
######################################################################
1998-10-28 23:35:27 +03:00
LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
1998-08-09 17:25:34 +04:00
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/time.o lib/ufc.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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
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
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
1998-10-28 23:35:27 +03:00
ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o
1998-07-29 07:08:05 +04:00
1998-08-14 21:38:29 +04:00
PARAM_OBJ = param/loadparm.o param/params.o
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
LIBSMB_OBJ = libsmb/clientgen.o libsmb/namequery.o libsmb/nmblib.o \
1998-08-09 18:37:32 +04:00
libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
1998-11-12 10:06:48 +03:00
libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
libsmb/passchange.o
1998-07-29 07:08:05 +04:00
- 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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
RPC_SERVER_OBJ = \
rpc_server/srv_sid.o \
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
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
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 \
1998-11-10 22:05:00 +03:00
rpc_parse/parse_wks.o rpc_parse/parse_sec.o
1998-07-29 07:08:05 +04:00
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.
(This used to be commit bcf39ffdcc64e049bca2d70a394a99976291e81d)
1998-10-03 01:09:23 +04:00
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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
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.
(This used to be commit bcf39ffdcc64e049bca2d70a394a99976291e81d)
1998-10-03 01:09:23 +04:00
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
1998-10-03 12:27:39 +04:00
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
LOCKING_OBJ = locking/locking.o locking/locking_shm.o locking/locking_slow.o \
locking/shmem.o locking/shmem_sysv.o
1998-07-29 07:08:05 +04:00
- 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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
GROUPDB_OBJ = groupdb/groupdb.o groupdb/groupfile.o \
groupdb/aliasdb.o groupdb/aliasfile.o
1998-08-10 11:04:53 +04:00
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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
passdb/pass_check.o passdb/ldap.o passdb/nispass.o \
passdb/passgrp.o passdb/smbpassgroup.o \
passdb/smbpasschange.o
1998-08-09 18:08:42 +04:00
1998-08-15 11:27:34 +04:00
SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \
1998-08-17 11:15:54 +04:00
smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \
1998-09-05 09:07:05 +04:00
smbd/ipc.o smbd/mangle.o smbd/negprot.o \
1998-08-14 21:38:29 +04:00
smbd/message.o smbd/nttrans.o smbd/pipes.o smbd/predict.o \
1998-11-03 05:25:28 +03:00
smbd/$( QUOTAOBJS) smbd/reply.o smbd/ssl.o smbd/trans2.o smbd/uid.o \
1998-08-19 05:49:34 +04:00
smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o smbd/blocking.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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
smbd/process.o smbd/oplock.o smbd/service.o smbd/error.o \
smbd/groupname.o
1998-07-29 07:08:05 +04:00
1998-08-15 07:26:52 +04:00
PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/printing.o
1998-08-14 21:38:29 +04:00
1998-08-09 17:25:34 +04:00
SMBD_OBJ = $( SMBD_OBJ1) $( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) \
$( RPC_SERVER_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
$( LOCKING_OBJ) $( PASSDB_OBJ) $( GROUPDB_OBJ) $( PRINTING_OBJ) \
$( LIB_OBJ)
1998-08-09 18:08:42 +04:00
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 \
1998-08-30 19:58:17 +04:00
nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o
1998-08-09 18:08:42 +04:00
NMBD_OBJ = $( NMBD_OBJ1) $( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) \
$( PASSDB_OBJ) $( LIB_OBJ)
1998-08-09 18:37:32 +04:00
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
1998-08-10 11:04:53 +04:00
web/swat.o $( LIBSMB_OBJ) $( LOCKING_OBJ) \
1998-08-10 09:22:10 +04:00
$( PARAM_OBJ) $( PASSDB_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
1998-08-09 18:37:32 +04:00
$( UBIQX_OBJ) $( LIB_OBJ)
1998-08-09 18:58:51 +04:00
SMBRUN_OBJ = utils/smbrun.o
1998-10-19 05:00:33 +04:00
SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
$( PARAM_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
1998-10-13 12:26:48 +04:00
1998-08-10 09:22:10 +04:00
MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o $( PARAM_OBJ) \
1998-08-10 05:25:32 +04:00
$( UBIQX_OBJ) $( LIB_OBJ)
1998-08-10 09:22:10 +04:00
MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o $( PARAM_OBJ) \
1998-08-10 05:25:32 +04:00
$( UBIQX_OBJ) $( LIB_OBJ)
1998-08-10 09:22:10 +04:00
STATUS_OBJ = utils/status.o $( LOCKING_OBJ) $( PARAM_OBJ) \
1998-08-10 05:25:32 +04:00
$( UBIQX_OBJ) $( LIB_OBJ)
1998-08-10 06:01:18 +04:00
TESTPARM_OBJ = utils/testparm.o \
1998-08-10 09:22:10 +04:00
$( PARAM_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
1998-08-09 18:58:51 +04:00
1998-08-14 21:38:29 +04:00
TESTPRNS_OBJ = utils/testprns.o $( PARAM_OBJ) $( PRINTING_OBJ) $( UBIQX_OBJ) \
1998-08-09 18:58:51 +04:00
$( 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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
SMBPASSWD_OBJ = utils/smbpasswd.o $( PARAM_OBJ) $( LIBSMB_OBJ) \
$( PASSDB_OBJ) \
1998-08-10 05:25:32 +04:00
$( UBIQX_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) $( LIB_OBJ)
1998-09-26 01:01:52 +04:00
RPCCLIENT_OBJ = rpcclient/rpcclient.o \
1998-09-26 02:20:05 +04:00
rpcclient/display.o \
1998-09-26 01:01:52 +04:00
rpcclient/cmd_lsarpc.o \
1998-09-26 01:20:37 +04:00
rpcclient/cmd_wkssvc.o \
1998-09-26 02:20:05 +04:00
rpcclient/cmd_samr.o \
1998-11-10 22:05:00 +03:00
rpcclient/cmd_reg.o \
1998-10-05 19:41:41 +04:00
rpcclient/cmd_srvsvc.o \
1998-10-16 03:51:07 +04:00
rpcclient/cmd_netlogon.o \
1998-09-26 01:01:52 +04:00
$( 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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
$( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
$( PASSDB_OBJ)
1998-09-26 01:01:52 +04:00
1998-10-04 05:36:40 +04:00
SMBWRAPPER_OBJ = smbwrapper/smbw.o smbwrapper/wrapped.o \
1998-10-04 08:33:56 +04:00
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
1998-10-19 05:00:33 +04:00
smbwrapper/realcalls.o smbwrapper/shared.o \
1998-10-02 16:33:44 +04:00
$( LIBSMB_OBJ) $( PARAM_OBJ) \
$( UBIQX_OBJ) $( LIB_OBJ)
1998-11-09 06:45:49 +03:00
CLIENT_OBJ = client/client.o client/clitar.o \
1998-08-10 09:22:10 +04:00
$( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) $( LIB_OBJ)
1998-08-09 18:58:51 +04:00
1998-09-28 23:18:21 +04:00
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)
1998-08-10 09:22:10 +04:00
NMBLOOKUP_OBJ = utils/nmblookup.o $( PARAM_OBJ) $( UBIQX_OBJ) \
1998-08-10 05:25:32 +04:00
$( LIBSMB_OBJ) $( LIB_OBJ)
1998-08-10 09:22:10 +04:00
SMBTORTURE_OBJ = utils/torture.o $( LIBSMB_OBJ) $( PARAM_OBJ) \
1998-08-10 06:01:18 +04:00
$( UBIQX_OBJ) $( LIB_OBJ)
1998-10-23 02:19:08 +04:00
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.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-17 19:19:04 +03:00
$( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
$( PASSDB_OBJ)
1998-10-23 02:19:08 +04:00
1998-10-28 23:35:27 +03:00
DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o
1998-10-28 02:28:29 +03:00
1998-10-04 08:33:56 +04:00
PROTO_OBJ = $( SMBD_OBJ) $( NMBD_OBJ) $( SWAT_OBJ) $( CLIENT_OBJ) \
$( RPCCLIENT_OBJ) $( SMBWRAPPER_OBJ)
1998-07-29 07:08:05 +04:00
1998-10-05 14:53:07 +04:00
PICOBJS = $( SMBWRAPPER_OBJ:.o= .po)
1998-10-05 16:17:01 +04:00
PICOBJS32 = $( SMBWRAPPER_OBJ:.o= .po32)
1998-10-02 16:33:44 +04:00
1998-07-29 07:08:05 +04:00
######################################################################
# now the rules...
######################################################################
1998-08-11 06:13:01 +04:00
all : CHECK $( SPROGS ) $( PROGS )
1998-07-29 07:08:05 +04:00
1998-10-13 12:26:48 +04:00
smbwrapper : CHECK bin /smbsh bin /smbwrapper .so @WRAP 32@
1998-10-05 02:42:05 +04:00
1998-10-08 10:19:29 +04:00
smbtorture : CHECK bin /smbtorture
1998-10-23 02:19:08 +04:00
rpctorture : CHECK bin /rpctorture
1998-10-28 02:28:29 +03:00
debug2html : CHECK bin /debug 2html
1998-07-29 07:08:05 +04:00
.SUFFIXES :
1998-10-05 16:17:01 +04:00
.SUFFIXES : .c .o .po .po 32
1998-07-29 07:08:05 +04:00
1998-08-11 06:13:01 +04:00
CHECK :
@echo " Using FLAGS = $( FLAGS) "
@echo " Using LIBS = $( LIBS) "
1998-10-05 04:43:48 +04:00
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
1998-10-29 20:55:58 +03:00
# 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
1998-10-05 02:42:05 +04:00
.c.o : @MAINT @ .deps /.dummy
1998-10-05 06:56:31 +04:00
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then rm -f $@ ; else \
1998-10-05 04:43:48 +04:00
dir = ` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` $( MAKEDIR) ; fi
1998-10-30 19:37:39 +03:00
@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
1998-07-29 07:08:05 +04:00
@echo Compiling $* .c
1998-10-30 19:37:39 +03:00
@$( CC) -I. -I$( srcdir) $( FLAGS) -c $< \
-o $@ @MAINT@ -Wp,-MD,.deps/$@ && \
@MAINT@ sed 's|^'`echo $@ | sed 's,.*/,,'`' : | $@:| ' \
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
1998-10-02 16:33:44 +04:00
1998-10-05 02:42:05 +04:00
.c.po : @MAINT @ .deps /.dummy
1998-10-05 06:56:31 +04:00
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then rm -f $@ ; else \
1998-10-05 04:43:48 +04:00
dir = ` echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,' ` $( MAKEDIR) ; fi
1998-10-30 19:37:39 +03:00
@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
1998-10-05 16:17:01 +04:00
@echo Compiling $* .c with @PICFLAG@
1998-10-30 19:37:39 +03:00
@$( CC) -I. -I$( srcdir) $( FLAGS) @PICFLAG@ -c $< \
-o $* .po.o @MAINT@ -Wp,-MD,.deps/$@ && \
@MAINT@ sed 's|^'`echo $*\.po\.o | sed 's,.*/,,'`' : | $@:| ' \
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
1998-10-24 10:23:02 +04:00
@mv $* .po.o $@
1998-10-05 16:17:01 +04:00
# 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
1998-10-30 19:37:39 +03:00
@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
1998-10-06 03:31:55 +04:00
@echo Compiling $* .c with @PICFLAG@ and -32
1998-10-30 19:37:39 +03:00
@$( CC) -32 -I. -I$( srcdir) $( FLAGS) @PICFLAG@ -c $< \
-o $* .po32.o @MAINT@ -Wp,-MD,.deps/$@ && \
@MAINT@ sed 's|^'`echo $*.po32.o | sed 's,.*/,,'`' : | $@:| ' \
@ M A I N T @ < . d e p s / $@ > . d e p s / $@ d & & \
@MAINT@ rm -f .deps/$@ && : >.deps /.stamp
1998-10-24 10:23:02 +04:00
@mv $* .po32.o $@
1998-10-02 16:33:44 +04:00
1998-10-05 02:42:05 +04:00
bin/.dummy :
1998-10-05 06:56:31 +04:00
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then :; else \
1998-10-05 04:43:48 +04:00
dir = bin $( MAKEDIR) ; fi
1998-10-05 06:56:31 +04:00
@: >> $@ || : > $@ # what a fancy emoticon!
1998-09-29 09:05:46 +04:00
1998-10-05 02:42:05 +04:00
bin/smbd : $( SMBD_OBJ ) bin /.dummy
1998-08-09 17:25:34 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( SMBD_OBJ) $( LDFLAGS) $( LIBS)
1998-07-29 07:08:05 +04:00
1998-10-05 02:42:05 +04:00
bin/nmbd : $( NMBD_OBJ ) bin /.dummy
1998-08-09 18:08:42 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( NMBD_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:08:42 +04:00
1998-10-05 02:42:05 +04:00
bin/swat : $( SWAT_OBJ ) bin /.dummy
1998-08-09 18:37:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( SWAT_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:08:42 +04:00
1998-10-05 02:42:05 +04:00
bin/smbrun : $( SMBRUN_OBJ ) bin /.dummy
1998-08-09 18:58:51 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( SMBRUN_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:58:51 +04:00
1998-10-05 02:42:05 +04:00
bin/rpcclient : $( RPCCLIENT_OBJ ) bin /.dummy
1998-09-26 01:01:52 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( RPCCLIENT_OBJ) $( LDFLAGS) $( LIBS)
1998-09-26 01:01:52 +04:00
1998-10-05 02:42:05 +04:00
bin/smbclient : $( CLIENT_OBJ ) bin /.dummy
1998-08-09 18:37:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( CLIENT_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:58:51 +04:00
1998-10-05 02:42:05 +04:00
bin/smbmount : $( MOUNT_OBJ ) bin /.dummy
1998-09-28 23:18:21 +04:00
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( MOUNT_OBJ) $( LIBS)
1998-10-05 02:42:05 +04:00
bin/smbmnt : $( MNT_OBJ ) bin /.dummy
1998-09-28 23:18:21 +04:00
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( MNT_OBJ) $( LIBS)
1998-10-05 02:42:05 +04:00
bin/smbumount : $( UMOUNT_OBJ ) bin /.dummy
1998-09-28 23:18:21 +04:00
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( UMOUNT_OBJ) $( LIBS)
1998-10-05 02:42:05 +04:00
bin/testparm : $( TESTPARM_OBJ ) bin /.dummy
1998-08-09 18:58:51 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( TESTPARM_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:58:51 +04:00
1998-10-05 02:42:05 +04:00
bin/testprns : $( TESTPRNS_OBJ ) bin /.dummy
1998-08-09 18:58:51 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( TESTPRNS_OBJ) $( LDFLAGS) $( LIBS)
1998-08-09 18:58:51 +04:00
1998-10-05 02:42:05 +04:00
bin/smbstatus : $( STATUS_OBJ ) bin /.dummy
1998-08-10 05:25:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( STATUS_OBJ) $( LDFLAGS) $( LIBS)
1998-08-10 05:25:32 +04:00
1998-10-05 02:42:05 +04:00
bin/smbpasswd : $( SMBPASSWD_OBJ ) bin /.dummy
1998-08-10 05:25:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( SMBPASSWD_OBJ) $( LDFLAGS) $( LIBS)
1998-08-10 05:25:32 +04:00
1998-10-05 02:42:05 +04:00
bin/make_smbcodepage : $( MAKE_SMBCODEPAGE_OBJ ) bin /.dummy
1998-08-10 05:25:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( MAKE_SMBCODEPAGE_OBJ) $( LDFLAGS) $( LIBS)
1998-08-10 05:25:32 +04:00
1998-10-05 02:42:05 +04:00
bin/nmblookup : $( NMBLOOKUP_OBJ ) bin /.dummy
1998-08-10 05:25:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( NMBLOOKUP_OBJ) $( LDFLAGS) $( LIBS)
1998-08-10 05:25:32 +04:00
1998-10-05 02:42:05 +04:00
bin/make_printerdef : $( MAKE_PRINTERDEF_OBJ ) bin /.dummy
1998-08-10 05:25:32 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( MAKE_PRINTERDEF_OBJ) $( LDFLAGS) $( LIBS)
1998-07-29 07:08:05 +04:00
1998-10-05 02:42:05 +04:00
bin/smbtorture : $( SMBTORTURE_OBJ ) bin /.dummy
1998-08-10 06:01:18 +04:00
@echo Linking $@
1998-09-26 07:30:15 +04:00
@$( CC) $( FLAGS) -o $@ $( SMBTORTURE_OBJ) $( LDFLAGS) $( LIBS)
1998-07-29 07:08:05 +04:00
1998-10-23 02:19:08 +04:00
bin/rpctorture : $( RPCTORTURE_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( RPCTORTURE_OBJ) $( LDFLAGS) $( LIBS)
1998-10-28 02:28:29 +03:00
bin/debug2html : $( DEBUG 2HTML_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( DEBUG2HTML_OBJ) $( LDFLAGS) $( LIBS)
1998-10-13 12:26:48 +04:00
bin/smbwrapper.so : $( PICOBJS )
1998-10-04 18:56:19 +04:00
@echo Linking shared library $@
1998-10-05 16:17:01 +04:00
@$( LD) @LDSHFLAGS@ -o $@ $( PICOBJS) $( LIBS)
1998-10-13 12:26:48 +04:00
bin/smbwrapper.32.so : $( PICOBJS 32)
1998-10-05 16:17:01 +04:00
@echo Linking shared library $@
@$( LD) -32 @LDSHFLAGS@ -o $@ $( PICOBJS32) $( LIBS)
1998-07-29 07:08:05 +04:00
1998-10-13 12:26:48 +04:00
bin/smbsh : $( SMBSH_OBJ ) bin /.dummy
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( SMBSH_OBJ) $( LDFLAGS) $( LIBS)
1998-10-05 02:42:05 +04:00
1998-07-29 07:08:05 +04:00
install : installbin installman installscripts installcp installswat
1998-09-21 13:07:08 +04:00
installdirs :
$( SHELL) $( srcdir) /install-sh -d -m $( INSTALLPERMS) \
$( BASEDIR) $( SBINDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( CODEPAGEDIR)
installbin : all installdirs
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/installbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/installbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
1998-07-29 07:08:05 +04:00
1998-09-21 13:07:08 +04:00
installscripts : installdirs
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/installscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
1998-07-29 07:08:05 +04:00
1998-09-21 13:07:08 +04:00
installcp : installdirs
@$( SHELL) $( srcdir) /script/installcp.sh $( srcdir) $( LIBDIR) $( CODEPAGEDIR) $( BINDIR) $( CODEPAGELIST)
1998-07-29 07:08:05 +04:00
1998-09-21 13:07:08 +04:00
installswat : installdirs
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/installswat.sh $( SWATDIR) $( srcdir)
1998-07-29 07:08:05 +04:00
# revert to the previously installed version
revert :
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/revert.sh $( SBINDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/revert.sh $( BINDIR) $( PROGS) $( SCRIPTS)
1998-07-29 07:08:05 +04:00
installman :
1998-11-17 02:28:59 +03:00
@$( SHELL) $( srcdir) /script/installman.sh $( MANDIR) $( srcdir) "@ROFF@"
1998-07-29 07:08:05 +04:00
uninstall : uninstallman uninstallbin uninstallscripts uninstallcp
uninstallman :
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/uninstallman.sh $( MANDIR) $( srcdir)
1998-07-29 07:08:05 +04:00
uninstallbin :
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /script/uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
1998-07-29 07:08:05 +04:00
uninstallscripts :
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/uninstallscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
1998-07-29 07:08:05 +04:00
uninstallcp :
1998-08-10 05:55:42 +04:00
@$( SHELL) $( srcdir) /script/uninstallcp.sh $( CODEPAGEDIR) $( CODEPAGELIST)
1998-07-29 07:08:05 +04:00
clean :
1998-10-06 03:34:50 +04:00
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.so
1998-07-29 07:08:05 +04:00
1998-10-04 08:33:56 +04:00
proto :
1998-08-10 05:55:42 +04:00
@echo rebuilding include/proto.h
1998-10-04 08:33:56 +04:00
@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
1998-07-29 07:08:05 +04:00
etags :
etags ` find . -name "*.[ch]" `
ctags :
ctags ` find . -name "*.[ch]" `
realclean : clean
1998-10-05 04:43:48 +04:00
-rm -f config.log $( PROGS) $( SPROGS) bin/.dummy
1998-10-05 07:44:12 +04:00
-rmdir bin
1998-09-21 13:07:08 +04:00
distclean : realclean
1998-09-29 08:52:17 +04:00
-rm -f include/config.h include/stamp-h Makefile
1998-11-12 00:41:44 +03:00
-rm -f config.status config.cache so_locations
1998-10-05 07:44:12 +04:00
-rm -rf .deps
1998-09-05 09:07:05 +04:00
1998-11-11 04:33:57 +03:00
#
# 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)
1998-09-05 09:07:05 +04:00
# 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
1998-09-21 13:07:08 +04:00
1998-09-24 12:34:21 +04:00
# 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)
1998-09-21 13:07:08 +04:00
config.status : $( srcdir ) /configure
$( SHELL) ./config.status --recheck
1998-09-24 05:12:43 +04:00
1998-09-29 08:52:17 +04:00
Makefile : $( srcdir ) /Makefile .in config .status \
include/stamp-h # just to ensure that config.h is up-to-date
1998-09-21 13:07:08 +04:00
CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
# note that nothing depends on config.h, so will probably be rebuilt
1998-10-29 20:55:58 +03:00
# only when explicitly requested, unless dependency tracking is enabled
1998-09-21 13:07:08 +04:00
include/config.h : include /stamp -h
@:
1998-09-24 05:12:43 +04:00
1998-09-21 13:07:08 +04:00
include/stamp-h : $( srcdir ) /include /config .h .in config .status
CONFIG_FILES = CONFIG_HEADERS = include/config.h $( SHELL) ./config.status
1998-09-24 12:34:21 +04:00
@echo > include/stamp-h
1998-09-24 05:12:43 +04:00
1998-09-21 13:07:08 +04:00
$(srcdir)/include/config.h.in : $( srcdir ) /include /stamp -h .in
@:
1998-09-24 05:12:43 +04:00
1998-09-24 12:34:21 +04:00
$(srcdir)/include/stamp-h.in : @MAINT @ $( srcdir ) /acconfig .h $( srcdir ) /configure .in
cd $( srcdir) && $( AUTOHEADER)
1998-09-29 08:52:17 +04:00
@date -u > $@
1998-09-28 04:14:36 +04:00
1998-09-24 12:34:21 +04:00
# automatic dependency tracking rules
.deps/.dummy :
1998-10-05 06:56:31 +04:00
@if ( : >> $@ || : > $@ ) >/dev/null 2>& 1; then :; else \
1998-10-05 04:43:48 +04:00
dir = .deps $( MAKEDIR) ; fi
1998-10-05 06:56:31 +04:00
@: >> $@ || : > $@ # what a fancy emoticon!
1998-09-24 12:34:21 +04:00
.deps/.stamp : .deps /.dummy
@:
1998-10-29 20:55:58 +03:00
.deps/depend : .deps /.stamp
@echo Updating dependencies
@: | cat ` find .deps -type f -name \* d` >$@ 2>/dev/null || true
1998-09-24 12:34:21 +04:00
1998-10-29 20:55:58 +03:00
@ M A I N T @ - i n c l u d e . d e p s / d e p e n d