1 ###########################################################################
2 # Makefile.in for Samba - rewritten for autoconf support
3 # Copyright Andrew Tridgell 1992-1998
4 ###########################################################################
7 exec_prefix=@
exec_prefix@
8 INSTALL_BIN
=$(exec_prefix)/bin
9 INSTALL_MAN
=$(prefix)/man
25 BASEDIR
=$(prefix)/samba
26 BINDIR
= $(BASEDIR
)/bin
27 SBINDIR
= $(BASEDIR
)/bin
28 LIBDIR
= $(BASEDIR
)/lib
29 VARDIR
= $(BASEDIR
)/var
30 MANDIR
= $(BASEDIR
)/man
32 # The permissions to give the executables
35 # set these to where to find various files
36 # These can be overridden by command line switches (see smbd(8))
37 # or in smb.conf (see smb.conf(5))
38 SMBLOGFILE
= $(VARDIR
)/log.smb
39 NMBLOGFILE
= $(VARDIR
)/log.nmb
40 CONFIGFILE
= $(LIBDIR
)/smb.conf
41 LMHOSTSFILE
= $(LIBDIR
)/lmhosts
42 DRIVERFILE
= $(LIBDIR
)/printers.def
43 SMB_PASSWD
= $(BINDIR
)/smbpasswd
44 SMB_PASSWD_FILE
= $(BASEDIR
)/private
/smbpasswd
46 # This is where SWAT images and help files go
47 SWATDIR
= $(BASEDIR
)/swat
49 # the directory where lock files go
50 LOCKDIR
= $(VARDIR
)/locks
52 # The directory where code page definition files go
53 CODEPAGEDIR
= $(LIBDIR
)/codepages
55 # The current codepage definition list.
56 CODEPAGELIST
= 437 737 850 852 861 932 866 949 950 936
58 # where you are going to have the smbrun binary. This defaults to the
59 # install directory. This binary is needed for correct printing
60 # and magic script execution. This should be an absolute path!
61 # Also not that this should include the name "smbrun" on the end (the
62 # name of the executable)
63 SMBRUN
= $(BINDIR
)/smbrun
66 PASSWD_FLAGS
= -DSMB_PASSWD
=\"$(SMB_PASSWD
)\" -DSMB_PASSWD_FILE
=\"$(SMB_PASSWD_FILE
)\"
67 FLAGS1
= $(CFLAGS
) -I
$(srcdir)/include -I
$(srcdir)/ubiqx
-DSMBLOGFILE
=\"$(SMBLOGFILE
)\" -DNMBLOGFILE
=\"$(NMBLOGFILE
)\"
68 FLAGS2
= -DCONFIGFILE
=\"$(CONFIGFILE
)\" -DLMHOSTSFILE
=\"$(LMHOSTSFILE
)\"
69 FLAGS3
= -DSWATDIR
=\"$(SWATDIR
)\" -DSBINDIR
=\"$(SBINDIR
)\" -DLOCKDIR
=\"$(LOCKDIR
)\" -DSMBRUN
=\"$(SMBRUN
)\" -DCODEPAGEDIR
=\"$(CODEPAGEDIR
)\"
70 FLAGS4
= -DDRIVERFILE
=\"$(DRIVERFILE
)\"
71 FLAGS5
= $(FLAGS1
) $(FLAGS2
) $(FLAGS3
) $(FLAGS4
) -DHAVE_INCLUDES_H
72 FLAGS
= $(FLAGS5
) $(PASSWD_FLAGS
)
74 SPROGS
= bin
/smbd bin
/nmbd bin
/swat
75 PROGS1
= bin
/smbclient bin
/testparm bin
/testprns bin
/smbrun bin
/smbstatus
76 PROGS2
= bin
/smbpasswd bin
/make_smbcodepage
77 PROGS
= $(PROGS1
) $(PROGS2
) bin
/nmblookup bin
/make_printerdef
79 SCRIPTS
= script
/smbtar script
/addtosmbpass
82 ######################################################################
84 ######################################################################
86 LIB_OBJ
= lib
/charcnv.o lib
/charset.o lib
/debug.o lib
/fault.o \
87 lib
/getsmbpass.o lib
/interface.o lib
/kanji.o lib
/md4.o \
88 lib
/membuffer.o lib
/netmask.o lib
/pidfile.o lib
/replace.o \
89 lib
/signal.o lib
/slprintf.o lib
/system.o lib
/time.o lib
/ufc.o \
90 lib
/util.o lib
/genrand.o lib
/username.o
92 UBIQX_OBJ
= ubiqx
/ubi_BinTree.o ubiqx
/ubi_Cache.o ubiqx
/ubi_SplayTree.o \
93 ubiqx
/ubi_dLinkList.o ubiqx
/ubi_sLinkList.o
95 PARAM_OBJ
= param
/loadparm.o param
/params.o param
/pcap.o
97 LIBSMB_OBJ
= libsmb
/clientgen.o libsmb
/namequery.o libsmb
/nmblib.o \
98 libsmb
/nterr.o libsmb
/smbdes.o libsmb
/smbencrypt.o \
99 libsmb
/smberr.o libsmb
/credentials.o
101 RPC_SERVER_OBJ
= rpc_server
/srv_ldap_helpers.o rpc_server
/srv_lsa.o \
102 rpc_server
/srv_lsa_hnd.o rpc_server
/srv_netlog.o \
103 rpc_server
/srv_pipe_hnd.o rpc_server
/srv_reg.o \
104 rpc_server
/srv_samr.o rpc_server
/srv_srvsvc.o \
105 rpc_server
/srv_util.o rpc_server
/srv_wkssvc.o
107 RPC_PARSE_OBJ
= rpc_parse
/parse_lsa.o rpc_parse
/parse_misc.o \
108 rpc_parse
/parse_net.o rpc_parse
/parse_prs.o \
109 rpc_parse
/parse_reg.o rpc_parse
/parse_rpc.o \
110 rpc_parse
/parse_samr.o rpc_parse
/parse_srv.o \
111 rpc_parse
/parse_wks.o
113 RPC_CLIENT_OBJ
= rpc_client
/cli_login.o rpc_client
/cli_netlogon.o \
114 rpc_client
/cli_pipe.o
116 LOCKING_OBJ
= locking
/locking.o locking
/locking_shm.o locking
/locking_slow.o \
117 locking
/shmem.o locking
/shmem_sysv.o
119 PASSDB_OBJ
= passdb
/passdb.o passdb
/smbpassfile.o passdb
/smbpass.o \
122 SMBD_OBJ1
= smbd
/server.o smbd
/access.o smbd
/chgpasswd.o smbd
/connection.o \
123 smbd
/dfree.o smbd
/dir.o smbd
/password.o \
124 smbd
/groupname.o smbd
/ipc.o smbd
/ldap.o smbd
/mangle.o \
125 smbd
/message.o smbd
/nispass.o smbd
/nttrans.o \
126 smbd
/pipes.o smbd
/predict.o smbd
/print_svid.o smbd
/printing.o \
127 smbd
/quotas.o smbd
/reply.o smbd
/ssl.o smbd
/trans2.o smbd
/uid.o
129 SMBD_OBJ
= $(SMBD_OBJ1
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
130 $(RPC_SERVER_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
131 $(LOCKING_OBJ
) $(PASSDB_OBJ
) $(LIB_OBJ
)
134 NMBD_OBJ1
= nmbd
/asyncdns.o nmbd
/nmbd.o nmbd
/nmbd_become_dmb.o \
135 nmbd
/nmbd_become_lmb.o nmbd
/nmbd_browserdb.o \
136 nmbd
/nmbd_browsesync.o nmbd
/nmbd_elections.o \
137 nmbd
/nmbd_incomingdgrams.o nmbd
/nmbd_incomingrequests.o \
138 nmbd
/nmbd_lmhosts.o nmbd
/nmbd_logonnames.o nmbd
/nmbd_mynames.o \
139 nmbd
/nmbd_namelistdb.o nmbd
/nmbd_namequery.o \
140 nmbd
/nmbd_nameregister.o nmbd
/nmbd_namerelease.o \
141 nmbd
/nmbd_nodestatus.o nmbd
/nmbd_packets.o \
142 nmbd
/nmbd_processlogon.o nmbd
/nmbd_responserecordsdb.o \
143 nmbd
/nmbd_sendannounce.o nmbd
/nmbd_serverlistdb.o \
144 nmbd
/nmbd_subnetdb.o nmbd
/nmbd_winsproxy.o nmbd
/nmbd_winsserver.o \
145 nmbd
/nmbd_workgroupdb.o
147 NMBD_OBJ
= $(NMBD_OBJ1
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
148 $(PASSDB_OBJ
) $(LIB_OBJ
)
150 SWAT_OBJ
= web
/cgi.o web
/diagnose.o web
/startstop.o web
/statuspage.o \
151 web
/swat.o
$(LIBSMB_OBJ
) $(LOCKING_OBJ
) \
152 $(PARAM_OBJ
) $(PASSDB_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
153 $(UBIQX_OBJ
) $(LIB_OBJ
)
155 SMBRUN_OBJ
= utils
/smbrun.o
157 MAKE_SMBCODEPAGE_OBJ
= utils
/make_smbcodepage.o
$(PARAM_OBJ
) \
158 $(UBIQX_OBJ
) $(LIB_OBJ
)
160 MAKE_PRINTERDEF_OBJ
= utils
/make_printerdef.o
$(PARAM_OBJ
) \
161 $(UBIQX_OBJ
) $(LIB_OBJ
)
163 STATUS_OBJ
= utils
/status.o
$(LOCKING_OBJ
) $(PARAM_OBJ
) \
164 $(UBIQX_OBJ
) $(LIB_OBJ
)
166 TESTPARM_OBJ
= utils
/testparm.o \
168 $(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
170 TESTPRNS_OBJ
= utils
/testprns.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) \
173 SMBPASSWD_OBJ
= utils
/smbpasswd.o
$(PARAM_OBJ
) $(LIBSMB_OBJ
) $(PASSDB_OBJ
) \
174 $(UBIQX_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) $(LIB_OBJ
)
176 CLIENT_OBJ
= client
/client.o client
/clientutil.o client
/clitar.o \
177 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
179 NMBLOOKUP_OBJ
= utils
/nmblookup.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) \
180 $(LIBSMB_OBJ
) $(LIB_OBJ
)
182 SMBTORTURE_OBJ
= utils
/torture.o
$(LIBSMB_OBJ
) $(PARAM_OBJ
) \
183 $(UBIQX_OBJ
) $(LIB_OBJ
)
185 PROTO_OBJ
= $(SMBD_OBJ
) $(NMBD_OBJ
) $(SWAT_OBJ
) $(CLIENT_OBJ
)
187 ######################################################################
189 ######################################################################
191 all : $(SPROGS
) $(PROGS
)
198 @
$(CC
) -I.
-I
$(srcdir) $(FLAGS
) -c
$< -o
$@
200 bin
/smbd
: $(SMBD_OBJ
)
202 @
$(CC
) $(FLAGS
) -o
$@
$(SMBD_OBJ
) $(LIBS
)
204 bin
/nmbd
: $(NMBD_OBJ
)
206 @
$(CC
) $(FLAGS
) -o
$@
$(NMBD_OBJ
) $(LIBS
)
208 bin
/swat
: $(SWAT_OBJ
)
210 @
$(CC
) $(FLAGS
) -o
$@
$(SWAT_OBJ
) $(LIBS
)
212 bin
/smbrun
: $(SMBRUN_OBJ
)
214 @
$(CC
) $(FLAGS
) -o
$@
$(SMBRUN_OBJ
) $(LIBS
)
216 bin
/smbclient
: $(CLIENT_OBJ
)
218 @
$(CC
) $(FLAGS
) -o
$@
$(CLIENT_OBJ
) $(LIBS
)
220 bin
/testparm
: $(TESTPARM_OBJ
)
222 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPARM_OBJ
) $(LIBS
)
224 bin
/testprns
: $(TESTPRNS_OBJ
)
226 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPRNS_OBJ
) $(LIBS
)
228 bin
/smbstatus
: $(STATUS_OBJ
)
230 @
$(CC
) $(FLAGS
) -o
$@
$(STATUS_OBJ
) $(LIBS
)
232 bin
/smbpasswd
: $(SMBPASSWD_OBJ
)
234 @
$(CC
) $(FLAGS
) -o
$@
$(SMBPASSWD_OBJ
) $(LIBS
)
236 bin
/make_smbcodepage
: $(MAKE_SMBCODEPAGE_OBJ
)
238 @
$(CC
) $(FLAGS
) -o
$@
$(MAKE_SMBCODEPAGE_OBJ
) $(LIBS
)
240 bin
/nmblookup
: $(NMBLOOKUP_OBJ
)
242 @
$(CC
) $(FLAGS
) -o
$@
$(NMBLOOKUP_OBJ
) $(LIBS
)
244 bin
/make_printerdef
: $(MAKE_PRINTERDEF_OBJ
)
246 @
$(CC
) $(FLAGS
) -o
$@
$(MAKE_PRINTERDEF_OBJ
) $(LIBS
)
248 bin
/smbtorture
: $(SMBTORTURE_OBJ
)
250 @
$(CC
) $(FLAGS
) -o
$@
$(SMBTORTURE_OBJ
) $(LIBS
)
253 install: installbin installman installscripts installcp installswat
256 @
$(SHELL
) $(srcdir)/script
/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
257 @
$(SHELL
) $(srcdir)/script
/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
260 @
$(SHELL
) $(srcdir)/script
/installscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
263 @
$(SHELL
) $(srcdir)/script
/installcp.sh
$(LIBDIR
) $(CODEPAGEDIR
) $(BINDIR
) $(CODEPAGELIST
)
266 @
$(SHELL
) $(srcdir)/script
/installswat.sh
$(SWATDIR
) $(srcdir)
268 # revert to the previously installed version
270 @
$(SHELL
) $(srcdir)/script
/revert.sh
$(SBINDIR
) $(SPROGS
)
271 @
$(SHELL
) $(srcdir)/script
/revert.sh
$(BINDIR
) $(PROGS
) $(SCRIPTS
)
274 @
$(SHELL
) $(srcdir)/script
/installman.sh
$(MANDIR
) $(srcdir)
276 uninstall: uninstallman uninstallbin uninstallscripts uninstallcp
279 @
$(SHELL
) $(srcdir)/script
/uninstallman.sh
$(MANDIR
) $(srcdir)
282 @
$(SHELL
) $(srcdir)/script
/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
283 @
$(SHELL
) $(srcdir)/script
/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
286 @
$(SHELL
) $(srcdir)/script
/uninstallscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
289 @
$(SHELL
) $(srcdir)/script
/uninstallcp.sh
$(CODEPAGEDIR
) $(CODEPAGELIST
)
292 rm -f core
*/*.o
*/*~
*~ config.cache bin
/*
295 @echo rebuilding
include/proto.h
296 @
$(AWK
) -f script
/mkproto.awk
`echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | grep -v "ubiqx/"` > include/proto.h
299 etags
`find . -name "*.[ch]"`
302 ctags
`find . -name "*.[ch]"`