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@
INSTALL_BIN = $( exec_prefix) /bin
INSTALL_MAN = $( prefix) /man
1998-08-09 17:25:34 +04:00
LIBS = @LIBS@
1998-07-29 07:08:05 +04:00
CC = @CC@
CFLAGS = @CFLAGS@
AWK = @AWK@
INSTALLCMD = @INSTALL@
VPATH = @srcdir@
srcdir = @srcdir@
SHELL = /bin/sh
.SUFFIXES :
.SUFFIXES : .c .o
BASEDIR = $( prefix) /samba
BINDIR = $( BASEDIR) /bin
SBINDIR = $( BASEDIR) /bin
LIBDIR = $( BASEDIR) /lib
VARDIR = $( BASEDIR) /var
MANDIR = $( BASEDIR) /man
# 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
SMB_PASSWD = $( BINDIR) /smbpasswd
SMB_PASSWD_FILE = $( BASEDIR) /private/smbpasswd
# This is where SWAT images and help files go
SWATDIR = $( BASEDIR) /swat
# the directory where lock files go
LOCKDIR = $( VARDIR) /locks
# The directory where code page definition files go
CODEPAGEDIR = $( LIBDIR) /codepages
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
PASSWD_FLAGS = -DSMB_PASSWD= \" $( SMB_PASSWD) \" -DSMB_PASSWD_FILE= \" $( SMB_PASSWD_FILE) \"
1998-08-09 17:25:34 +04:00
FLAGS1 = $( CFLAGS) -I$( srcdir) /include -I$( srcdir) /ubiqx -DSMBLOGFILE= \" $( SMBLOGFILE) \" -DNMBLOGFILE= \" $( NMBLOGFILE) \"
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-08-09 17:25:34 +04:00
FLAGS4 = -DDRIVERFILE= \" $( DRIVERFILE) \"
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
PROGS2 = bin/smbpasswd bin/make_smbcodepage
PROGS = $( PROGS1) $( PROGS2) bin/nmblookup bin/make_printerdef
1998-07-29 07:08:05 +04:00
SCRIPTS = smbtar addtosmbpass
######################################################################
1998-08-09 17:25:34 +04:00
# object file lists
1998-07-29 07:08:05 +04:00
######################################################################
1998-08-09 17:25:34 +04:00
LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \
lib/membuffer.o lib/netmask.o lib/pidfile.o lib/replace.o \
lib/signal.o lib/slprintf.o lib/system.o lib/time.o lib/ufc.o \
1998-08-09 18:08:42 +04:00
lib/util.o lib/genrand.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 \
ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o
1998-07-29 07:08:05 +04:00
1998-08-09 18:20:02 +04:00
PARAM_OBJ = param/loadparm.o param/params.o param/pcap.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 \
libsmb/smberr.o libsmb/credentials.o
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
RPC_SERVER_OBJ = rpc_server/srv_ldap_helpers.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_util.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 \
rpc_parse/parse_wks.o
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
RPC_CLIENT_OBJ = rpc_client/cli_login.o rpc_client/cli_netlogon.o \
rpc_client/cli_pipe.o
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
1998-08-09 18:08:42 +04:00
PASSDB_OBJ = passdb/passdb.o passdb/smbpassfile.o passdb/username.o \
1998-08-09 18:37:32 +04:00
passdb/smbpass.o passdb/password.o
1998-08-09 18:08:42 +04:00
1998-08-09 17:25:34 +04:00
SMBD_OBJ1 = smbd/server.o smbd/access.o smbd/chgpasswd.o smbd/connection.o \
1998-08-09 18:37:32 +04:00
smbd/dfree.o smbd/dir.o \
1998-08-09 17:25:34 +04:00
smbd/groupname.o smbd/ipc.o smbd/ldap.o smbd/mangle.o \
1998-08-09 18:08:42 +04:00
smbd/message.o smbd/nispass.o smbd/nttrans.o \
1998-08-09 18:37:32 +04:00
smbd/pipes.o smbd/predict.o \
1998-08-09 17:25:34 +04:00
smbd/print_svid.o smbd/printing.o smbd/quotas.o smbd/reply.o \
1998-08-09 18:08:42 +04:00
smbd/ssl.o smbd/trans2.o smbd/uid.o
1998-07-29 07:08:05 +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) \
1998-08-09 18:08:42 +04:00
$( LOCKING_OBJ) $( PASSDB_OBJ) $( LIB_OBJ)
NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \
nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \
nmbd/nmbd_incomingdgrams.o nmbd/nmbd_incomingrequests.o \
nmbd/nmbd_lmhosts.o nmbd/nmbd_logonnames.o nmbd/nmbd_mynames.o \
nmbd/nmbd_namelistdb.o nmbd/nmbd_namequery.o \
nmbd/nmbd_nameregister.o nmbd/nmbd_namerelease.o \
nmbd/nmbd_nodestatus.o nmbd/nmbd_packets.o \
nmbd/nmbd_processlogon.o nmbd/nmbd_responserecordsdb.o \
nmbd/nmbd_sendannounce.o nmbd/nmbd_serverlistdb.o \
nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \
nmbd/nmbd_workgroupdb.o
NMBD_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 \
web/swat.o $( PASSDB_OBJ) $( LIBSMB_OBJ) $( LOCKING_OBJ) \
$( PARAM_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
$( UBIQX_OBJ) $( LIB_OBJ)
1998-08-09 18:08:42 +04:00
PROTO_OBJ = $( SMBD_OBJ1) $( NMBD_OBJ1) $( PARAM_OBJ) $( LIBSMB_OBJ) $( UBIQX_OBJ) \
1998-08-09 17:25:34 +04:00
$( RPC_SERVER_OBJ) $( RPC_CLIENT_OBJ) $( RPC_PARSE_OBJ) \
1998-08-09 18:37:32 +04:00
$( LOCKING_OBJ) $( PASSDB_OBJ) $( SWAT_OBJ) $( LIB_OBJ)
1998-07-29 07:08:05 +04:00
######################################################################
# now the rules...
######################################################################
all : $( SPROGS ) $( PROGS )
.SUFFIXES :
.SUFFIXES : .c .o .h
.c.o : $( INCLUDES )
@echo Compiling $* .c
@$( CC) -I. -I$( srcdir) $( FLAGS) -c $< -o $@
1998-08-09 17:25:34 +04:00
bin/smbd : $( SMBD_OBJ )
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( SMBD_OBJ) $( LIBS)
1998-07-29 07:08:05 +04:00
1998-08-09 18:08:42 +04:00
bin/nmbd : $( NMBD_OBJ )
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( NMBD_OBJ) $( LIBS)
1998-08-09 18:37:32 +04:00
bin/swat : $( SWAT_OBJ )
@echo Linking $@
@$( CC) $( FLAGS) -o $@ $( SWAT_OBJ) $( LIBS)
1998-08-09 18:08:42 +04:00
1998-08-09 18:37:32 +04:00
bin/smbrun : utils /smbrun .o
@echo Linking $@
@$( CC) $( FLAGS) -o $@ utils/smbrun.o $( LIBS)
1998-07-29 07:08:05 +04:00
nmblookup : $( LOOKUP_OBJ )
@echo Linking nmblookup
@$( CC) $( FLAGS) -o nmblookup $( LOOKUP_OBJ) $( LIBS)
smbclient : $( CLIENT_OBJ )
@echo Linking smbclient
@$( CC) $( FLAGS) -o smbclient $( CLIENT_OBJ) $( LIBS)
smbmount : $( MOUNT_OBJ )
@echo Linking smbmount
@$( CC) $( FLAGS) -o smbmount $( MOUNT_OBJ) $( LIBS)
smbmnt : $( MNT_OBJ )
@echo Linking smbmnt
@$( CC) $( FLAGS) -o smbmnt $( MNT_OBJ)
smbumount : $( UMOUNT_OBJ )
@echo Linking smbumount
@$( CC) $( FLAGS) -o smbumount $( UMOUNT_OBJ)
smbtorture : torture .o getsmbpass .o $( UTILOBJ ) $( CLIENTUTIL )
@echo Linking smbtorture
@$( CC) $( FLAGS) -o smbtorture torture.o getsmbpass.o $( UTILOBJ) $( CLIENTUTIL) $( LIBS)
smbstatus : $( STATUS_OBJ )
@echo Linking smbstatus
@$( CC) $( FLAGS) -o smbstatus $( STATUS_OBJ) $( LIBS)
testparm : testparm .o access .o $( UTILOBJ )
@echo Linking testparm
@$( CC) $( FLAGS) -o testparm testparm.o access.o $( UTILOBJ) $( LIBS)
testprns : testprns .o $( UTILOBJ )
@echo Linking testprns
@$( CC) $( FLAGS) -o testprns testprns.o $( UTILOBJ) $( LIBS)
smbpasswd : smbpasswd .o getsmbpass .o $( PASSDB_OBJ ) $( UTILOBJ ) $( CLIENTUTIL ) $( RPC_CLIENT_SERVER_SUBSET_OBJ ) $( RPC_OBJ )
@echo Linking smbpasswd
@$( CC) $( FLAGS) -o smbpasswd smbpasswd.o getsmbpass.o $( PASSDB_OBJ) $( UTILOBJ) $( CLIENTUTIL) \
$( RPC_CLIENT_SERVER_SUBSET_OBJ) $( RPC_OBJ) $( LIBS)
make_smbcodepage : make_smbcodepage .o $( UTILOBJ )
@echo Linking make_smbcodepage
@$( CC) $( FLAGS) -o make_smbcodepage make_smbcodepage.o $( UTILOBJ) $( LIBS)
make_printerdef : make_printerdef .o $( UTILOBJ )
@echo Linking make_printerdef
@$( CC) $( FLAGS) -o make_printerdef make_printerdef.o $( UTILOBJ) $( LIBS)
wsmbstatus : wsmbstatus .o $( UTILOBJ )
@echo Linking wsmbstatus
@$( CC) $( FLAGS) -o wsmbstatus wsmbstatus.o $( UTILOBJ) $( LIBS)
install : installbin installman installscripts installcp installswat
installbin : all
@$( SHELL) $( srcdir) /installbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /installbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
installscripts :
@$( SHELL) $( srcdir) /installscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
installcp :
@$( SHELL) $( srcdir) /installcp.sh $( LIBDIR) $( CODEPAGEDIR) $( BINDIR) $( CODEPAGELIST)
installswat :
@$( SHELL) $( srcdir) /installswat.sh $( SWATDIR) $( srcdir)
# revert to the previously installed version
revert :
@$( SHELL) $( srcdir) /revert.sh $( SBINDIR) $( SPROGS) $( SCRIPTS)
@$( SHELL) $( srcdir) /revert.sh $( BINDIR) $( PROGS) $( SCRIPTS)
installman :
@$( SHELL) $( srcdir) /installman.sh $( MANDIR) $( srcdir)
uninstall : uninstallman uninstallbin uninstallscripts uninstallcp
uninstallman :
@$( SHELL) $( srcdir) /uninstallman.sh $( MANDIR) $( srcdir)
uninstallbin :
@$( SHELL) $( srcdir) /uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( SBINDIR) $( LIBDIR) $( VARDIR) $( SPROGS)
@$( SHELL) $( srcdir) /uninstallbin.sh $( INSTALLPERMS) $( BASEDIR) $( BINDIR) $( LIBDIR) $( VARDIR) $( PROGS)
uninstallscripts :
@$( SHELL) $( srcdir) /uninstallscripts.sh $( INSTALLPERMS) $( BINDIR) $( SCRIPTS)
uninstallcp :
@$( SHELL) $( srcdir) /uninstallcp.sh $( CODEPAGEDIR) $( CODEPAGELIST)
clean :
@echo Cleaning up ...
@rm -f core *.o */*.o $( PROTOOBJ) lib/rpc/*/*.o *~ config.cache $( PROGS) $( SPROGS)
cleandir : clean
rm -f .depend tags
proto :
1998-08-09 17:25:34 +04:00
$( AWK) -f script/mkproto.awk ` echo $( PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | grep -v "ubiqx/" ` > include/proto.h
1998-07-29 07:08:05 +04:00
etags :
etags ` find . -name "*.[ch]" `
ctags :
ctags ` find . -name "*.[ch]" `
realclean : clean