1 ###########################################################################
2 # Makefile.in for Samba - rewritten for autoconf support
3 # Copyright Andrew Tridgell 1992-1998
4 ###########################################################################
7 exec_prefix=@
exec_prefix@
17 LIBTOOL
=@LIBTOOL@
--quiet
18 LIBTOOL_DEPS
=@LIBTOOL_DEPS@
19 LINK
=$(LIBTOOL
) --mode
=link
$(CC
) $(FLAGS
) $(LDFLAGS
)
31 # we don't use sbindir because we want full compatibility with
32 # the previous releases of Samba
35 VARDIR
= @localstatedir@
38 # The permissions to give the executables
41 # set these to where to find various files
42 # These can be overridden by command line switches (see smbd(8))
43 # or in smb.conf (see smb.conf(5))
44 LOGFILEBASE
= $(VARDIR
)
45 CONFIGFILE
= $(LIBDIR
)/smb.conf
46 LMHOSTSFILE
= $(LIBDIR
)/lmhosts
47 DRIVERFILE
= $(LIBDIR
)/printers.def
48 PASSWD_PROGRAM
= /bin
/passwd
49 # This is where smbpasswd et al go
50 PRIVATEDIR
= @privatedir@
52 SMB_PASSWD_FILE
= $(PRIVATEDIR
)/smbpasswd
53 PRIVATE_DIR
= $(PRIVATEDIR
)
55 # This is where SWAT images and help files go
58 # the directory where lock files go
61 # The directory where code page definition files go
62 CODEPAGEDIR
= $(LIBDIR
)/codepages
64 # The current codepage definition list.
65 CODEPAGELIST
= 437 737 775 850 852 861 932 866 949 950 936 1251 ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI8-R
857 ISO8859-9 ISO8859-13 ISO8859-15
67 # where you are going to have the smbrun binary. This defaults to the
68 # install directory. This binary is needed for correct printing
69 # and magic script execution. This should be an absolute path!
70 # Also not that this should include the name "smbrun" on the end (the
71 # name of the executable)
72 SMBRUN
= $(BINDIR
)/smbrun
75 PASSWD_FLAGS
= -DPASSWD_PROGRAM
=\"$(PASSWD_PROGRAM
)\" -DSMB_PASSWD_FILE
=\"$(SMB_PASSWD_FILE
)\" -DPRIVATE_DIR
=\"$(PRIVATE_DIR
)\"
76 FLAGS1
= $(CFLAGS
) -Iinclude
-I
$(srcdir)/include -I
$(srcdir)/ubiqx
-I
$(srcdir)/smbwrapper
$(CPPFLAGS
) -DLOGFILEBASE
=\"$(LOGFILEBASE
)\"
77 FLAGS2
= -DCONFIGFILE
=\"$(CONFIGFILE
)\" -DLMHOSTSFILE
=\"$(LMHOSTSFILE
)\"
78 FLAGS3
= -DSWATDIR
=\"$(SWATDIR
)\" -DSBINDIR
=\"$(SBINDIR
)\" -DLOCKDIR
=\"$(LOCKDIR
)\" -DSMBRUN
=\"$(SMBRUN
)\" -DCODEPAGEDIR
=\"$(CODEPAGEDIR
)\"
79 FLAGS4
= -DDRIVERFILE
=\"$(DRIVERFILE
)\" -DBINDIR
=\"$(BINDIR
)\" -DFORMSFILE
=\"$(FORMSFILE
)\" -DNTDRIVERSDIR
=\"$(NTDRIVERSDIR
)\"
80 FLAGS5
= $(FLAGS1
) $(FLAGS2
) $(FLAGS3
) $(FLAGS4
) -DHAVE_INCLUDES_H
81 FLAGS
= $(ISA
) $(FLAGS5
) $(PASSWD_FLAGS
)
82 FLAGS32
= $(ISA32
) $(FLAGS5
) $(PASSWD_FLAGS
)
84 SPROGS
= bin
/smbd bin
/nmbd bin
/swat
85 PROGS1
= bin
/smbclient bin
/smbspool bin
/testparm bin
/testprns bin
/smbstatus bin
/smbcontrol @RUNPROG@
86 PROGS2
= bin
/smbpasswd bin
/make_smbcodepage bin
/make_unicodemap bin
/rpcclient bin
/smbcacls @WRAP@ @WRAP32@
88 PROGS
= $(PROGS1
) $(PROGS2
) $(MPROGS
) bin
/nmblookup bin
/make_printerdef bin
/pdbedit
90 SCRIPTS
= $(srcdir)/script
/smbtar
$(srcdir)/script
/addtosmbpass
$(srcdir)/script
/convert_smbpasswd
94 ######################################################################
96 ######################################################################
98 TDB_OBJ
= tdb
/tdb.o tdb
/spinlock.o tdb
/tdbutil.o
100 LIB_OBJ
= lib
/charcnv.o lib
/charset.o lib
/debug.o lib
/fault.o \
101 lib
/getsmbpass.o lib
/interface.o lib
/kanji.o lib
/md4.o \
102 lib
/interfaces.o lib
/pidfile.o lib
/replace.o \
103 lib
/signal.o lib
/slprintf.o lib
/system.o lib
/doscalls.o lib
/time.o \
104 lib
/ufc.o lib
/genrand.o lib
/username.o lib
/access.o lib
/smbrun.o \
105 lib
/bitmap.o lib
/crc32.o lib
/snprintf.o lib
/wins_srv.o \
106 lib
/util_array.o lib
/util_str.o lib
/util_sid.o \
107 lib
/util_unistr.o lib
/util_file.o lib
/sysacls.o \
108 lib
/util.o lib
/util_sock.o lib
/util_sec.o smbd
/ssl.o \
109 lib
/talloc.o lib
/hash.o lib
/substitute.o lib
/fsusage.o \
110 lib
/ms_fnmatch.o lib
/select.o lib
/error.o lib
/messages.o \
111 nsswitch
/wb_client.o nsswitch
/wb_common.o \
114 UBIQX_OBJ
= ubiqx
/ubi_BinTree.o ubiqx
/ubi_Cache.o ubiqx
/ubi_SplayTree.o \
115 ubiqx
/ubi_dLinkList.o ubiqx
/ubi_sLinkList.o ubiqx
/debugparse.o
117 PARAM_OBJ
= param
/loadparm.o param
/params.o
119 LIBSMB_OBJ
= libsmb
/clientgen.o libsmb
/cliconnect.o libsmb
/clifile.o \
120 libsmb
/clirap.o libsmb
/clierror.o libsmb
/climessage.o \
121 libsmb
/clireadwrite.o libsmb
/clilist.o libsmb
/cliprint.o \
122 libsmb
/clitrans.o libsmb
/clisecdesc.o libsmb
/clidgram.o \
123 libsmb
/namequery.o libsmb
/nmblib.o libsmb
/clistr.o \
124 libsmb
/nterr.o libsmb
/smbdes.o libsmb
/smbencrypt.o \
125 libsmb
/smberr.o libsmb
/credentials.o libsmb
/pwd_cache.o \
126 libsmb
/passchange.o libsmb
/unexpected.o
$(RPC_PARSE_OBJ1
)
128 LIBMSRPC_OBJ
= libsmb
/cli_lsarpc.o libsmb
/cli_samr.o libsmb
/cli_spoolss.o \
129 rpc_client
/cli_pipe.o
131 RPC_SERVER_OBJ
= rpc_server
/srv_lsa.o \
132 rpc_server
/srv_lsa_hnd.o rpc_server
/srv_netlog.o \
133 rpc_server
/srv_pipe_hnd.o rpc_server
/srv_reg.o \
134 rpc_server
/srv_samr.o rpc_server
/srv_srvsvc.o \
135 rpc_server
/srv_util.o rpc_server
/srv_wkssvc.o \
136 rpc_server
/srv_pipe.o rpc_server
/srv_dfs.o \
137 rpc_server
/srv_spoolss.o rpc_server
/srv_spoolss_nt.o
139 # this includes only the low level parse code, not stuff
140 # that requires knowledge of security contexts
141 RPC_PARSE_OBJ1
= rpc_parse
/parse_prs.o rpc_parse
/parse_sec.o \
142 rpc_parse
/parse_misc.o
144 RPC_PARSE_OBJ
= rpc_parse
/parse_lsa.o rpc_parse
/parse_net.o \
145 rpc_parse
/parse_reg.o rpc_parse
/parse_rpc.o \
146 rpc_parse
/parse_samr.o rpc_parse
/parse_srv.o \
147 rpc_parse
/parse_wks.o \
148 rpc_parse
/parse_spoolss.o rpc_parse
/parse_dfs.o \
149 rpc_parse
/parse_creds.o
151 RPC_PARSE_NEW_OBJ
= rpc_parse
/parse_lsa.o rpc_parse
/parse_net.o \
152 rpc_parse
/parse_reg.o rpc_parse
/parse_rpc.o \
153 rpc_parse
/parse_srv.o rpc_parse
/parse_samr_new.o \
154 rpc_parse
/parse_wks.o \
155 rpc_parse
/parse_spoolss.o rpc_parse
/parse_dfs.o \
156 rpc_parse
/parse_creds.o
159 rpc_client
/cli_login.o \
160 rpc_client
/cli_netlogon.o \
161 rpc_client
/cli_pipe.o \
162 rpc_client
/cli_lsarpc.o \
163 rpc_client
/cli_wkssvc.o \
164 rpc_client
/cli_srvsvc.o \
165 rpc_client
/cli_samr.o \
166 rpc_client
/cli_reg.o \
167 rpc_client
/cli_spoolss_notify.o \
168 rpc_client
/cli_connect.o \
169 rpc_client
/cli_use.o \
170 rpc_client
/ncacn_np_use.o \
173 LOCKING_OBJ
= locking
/locking.o locking
/brlock.o locking
/posix.o
175 PASSDB_OBJ
= passdb
/passdb.o passdb
/secrets.o \
176 passdb
/pass_check.o passdb
/smbpassfile.o \
177 passdb
/machine_sid.o passdb
/pdb_smbpasswd.o \
180 # passdb/smbpass.o passdb/ldap.o passdb/nispass.o
182 PROFILE_OBJ
= profile
/profile.o
184 OPLOCK_OBJ
= smbd
/oplock.o smbd
/oplock_irix.o smbd
/oplock_linux.o
186 NOTIFY_OBJ
= smbd
/notify.o smbd
/notify_hash.o smbd
/notify_kernel.o
188 SMBD_OBJ1
= smbd
/server.o smbd
/files.o smbd
/chgpasswd.o smbd
/connection.o \
189 smbd
/dfree.o smbd
/dir.o smbd
/password.o smbd
/conn.o smbd
/fileio.o \
190 smbd
/ipc.o smbd
/lanman.o smbd
/mangle.o smbd
/negprot.o \
191 smbd
/message.o smbd
/nttrans.o smbd
/pipes.o \
192 smbd
/reply.o smbd
/trans2.o smbd
/uid.o \
193 smbd
/dosmode.o smbd
/filename.o smbd
/open.o smbd
/close.o \
194 smbd
/blocking.o smbd
/sec_ctx.o \
195 smbd
/vfs.o smbd
/vfs-wrap.o smbd
/statcache.o \
196 smbd
/posix_acls.o lib
/msrpc-client.o lib
/msrpc_use.o \
197 smbd
/process.o smbd
/service.o smbd
/error.o \
198 printing
/printfsp.o lib
/util_seaccess.o
200 PRINTING_OBJ
= printing
/pcap.o printing
/print_svid.o printing
/print_cups.o printing
/load.o
202 PRINTBACKEND_OBJ
= printing
/printing.o printing
/lpq_parse.o printing
/nt_printing.o
204 MSDFS_OBJ
= msdfs
/msdfs.o
206 SMBD_OBJ
= $(SMBD_OBJ1
) $(MSDFS_OBJ
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
207 $(RPC_SERVER_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
208 $(LOCKING_OBJ
) $(PASSDB_OBJ
) $(PRINTING_OBJ
) $(PROFILE_OBJ
) $(LIB_OBJ
) \
209 $(PRINTBACKEND_OBJ
) $(QUOTAOBJS
) $(OPLOCK_OBJ
) $(NOTIFY_OBJ
)
212 NMBD_OBJ1
= nmbd
/asyncdns.o nmbd
/nmbd.o nmbd
/nmbd_become_dmb.o \
213 nmbd
/nmbd_become_lmb.o nmbd
/nmbd_browserdb.o \
214 nmbd
/nmbd_browsesync.o nmbd
/nmbd_elections.o \
215 nmbd
/nmbd_incomingdgrams.o nmbd
/nmbd_incomingrequests.o \
216 nmbd
/nmbd_lmhosts.o nmbd
/nmbd_logonnames.o nmbd
/nmbd_mynames.o \
217 nmbd
/nmbd_namelistdb.o nmbd
/nmbd_namequery.o \
218 nmbd
/nmbd_nameregister.o nmbd
/nmbd_namerelease.o \
219 nmbd
/nmbd_nodestatus.o nmbd
/nmbd_packets.o \
220 nmbd
/nmbd_processlogon.o nmbd
/nmbd_responserecordsdb.o \
221 nmbd
/nmbd_sendannounce.o nmbd
/nmbd_serverlistdb.o \
222 nmbd
/nmbd_subnetdb.o nmbd
/nmbd_winsproxy.o nmbd
/nmbd_winsserver.o \
223 nmbd
/nmbd_workgroupdb.o nmbd
/nmbd_synclists.o
225 NMBD_OBJ
= $(NMBD_OBJ1
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
228 SWAT_OBJ
= web
/cgi.o web
/diagnose.o web
/startstop.o web
/statuspage.o \
229 web
/swat.o lib
/msrpc-client.o
$(PRINTING_OBJ
) $(LIBSMB_OBJ
) $(LOCKING_OBJ
) \
230 $(PARAM_OBJ
) $(PASSDB_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
231 $(UBIQX_OBJ
) $(LIB_OBJ
)
233 SMBRUN_OBJ
= utils
/smbrun.o lib
/util_sec.o
235 SMBSH_OBJ
= smbwrapper
/smbsh.o smbwrapper
/shared.o \
236 $(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
238 MAKE_SMBCODEPAGE_OBJ
= utils
/make_smbcodepage.o
$(PARAM_OBJ
) \
239 $(UBIQX_OBJ
) $(LIB_OBJ
)
241 MAKE_UNICODEMAP_OBJ
= utils
/make_unicodemap.o
$(PARAM_OBJ
) \
242 $(UBIQX_OBJ
) $(LIB_OBJ
)
244 MAKE_PRINTERDEF_OBJ
= utils
/make_printerdef.o
$(PARAM_OBJ
) \
245 $(UBIQX_OBJ
) $(LIB_OBJ
)
247 STATUS_OBJ
= utils
/status.o
$(LOCKING_OBJ
) $(PARAM_OBJ
) \
248 $(UBIQX_OBJ
) $(PROFILE_OBJ
) $(LIB_OBJ
)
250 SMBCONTROL_OBJ
= utils
/smbcontrol.o
$(LOCKING_OBJ
) $(PARAM_OBJ
) \
251 $(UBIQX_OBJ
) $(PROFILE_OBJ
) $(LIB_OBJ
)
253 TESTPARM_OBJ
= utils
/testparm.o \
254 $(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
256 TESTPRNS_OBJ
= utils
/testprns.o
$(PARAM_OBJ
) $(PRINTING_OBJ
) $(UBIQX_OBJ
) \
259 SMBPASSWD_OBJ
= utils
/smbpasswd.o lib
/msrpc-client.o
$(PARAM_OBJ
) \
260 $(LIBSMB_OBJ
) $(PASSDB_OBJ
) \
261 $(UBIQX_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) $(LIB_OBJ
)
263 PDBEDIT_OBJ
= utils
/pdbedit.o
$(PARAM_OBJ
) $(LIBSMB_OBJ
) $(PASSDB_OBJ
) \
264 $(UBIQX_OBJ
) $(LIB_OBJ
)
266 RPCCLIENT_OBJ1
= rpcclient
/rpcclient.o rpcclient
/cmd_lsarpc.o \
267 rpcclient
/cmd_samr.o rpcclient
/cmd_spoolss.o
269 RPCCLIENT_OBJ
= $(RPCCLIENT_OBJ1
) \
270 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
) \
271 $(RPC_PARSE_NEW_OBJ
) $(PASSDB_OBJ
) $(LIBMSRPC_OBJ
)
273 PAM_WINBIND_OBJ
= nsswitch
/pam_winbind.po nsswitch
/wb_common.po
275 SMBW_OBJ
= smbwrapper
/smbw.o \
276 smbwrapper
/smbw_dir.o smbwrapper
/smbw_stat.o \
277 smbwrapper
/realcalls.o smbwrapper
/shared.o \
278 $(LIBSMB_OBJ
) $(PARAM_OBJ
) \
279 $(UBIQX_OBJ
) $(LIB_OBJ
)
281 SMBWRAPPER_OBJ
= $(SMBW_OBJ
) smbwrapper
/wrapped.o
283 LIBSMBCLIENT_OBJ
= libsmb
/libsmbclient.o
$(LIB_OBJ
) $(LIBSMB_OBJ
) $(PARAM_OBJ
) $(UBIQX_OBJ
)
285 CLIENT_OBJ
= client
/client.o client
/clitar.o \
286 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
288 CUPS_OBJ
= client
/smbspool.o
$(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
290 MOUNT_OBJ
= client
/smbmount.o \
291 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
293 MNT_OBJ
= client
/smbmnt.o \
294 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
296 UMOUNT_OBJ
= client
/smbumount.o \
297 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
)
299 NMBLOOKUP_OBJ
= utils
/nmblookup.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) \
300 $(LIBSMB_OBJ
) $(LIB_OBJ
)
302 SMBTORTURE_OBJ
= utils
/torture.o utils
/nbio.o
$(LIBSMB_OBJ
) $(PARAM_OBJ
) \
303 $(UBIQX_OBJ
) $(LIB_OBJ
)
305 MASKTEST_OBJ
= utils
/masktest.o
$(LIBSMB_OBJ
) $(PARAM_OBJ
) \
306 $(UBIQX_OBJ
) $(LIB_OBJ
)
308 MSGTEST_OBJ
= utils
/msgtest.o
$(LIBSMB_OBJ
) $(PARAM_OBJ
) \
309 $(UBIQX_OBJ
) $(LIB_OBJ
)
311 LOCKTEST_OBJ
= utils
/locktest.o
$(LOCKING_OBJ
) $(LIBSMB_OBJ
) $(PARAM_OBJ
) \
312 $(UBIQX_OBJ
) $(LIB_OBJ
)
315 SMBCACLS_OBJ
= utils
/smbcacls.o
$(LOCKING_OBJ
) $(LIBSMB_OBJ
) $(PARAM_OBJ
) \
316 $(UBIQX_OBJ
) $(LIB_OBJ
) $(RPC_PARSE_NEW_OBJ
) $(PASSDB_OBJ
) \
320 LOCKTEST2_OBJ
= utils
/locktest2.o
$(LOCKING_OBJ
) $(LIBSMB_OBJ
) $(PARAM_OBJ
) \
321 $(UBIQX_OBJ
) $(LIB_OBJ
)
323 RPCTORTURE_OBJ
= utils
/rpctorture.o \
324 rpcclient
/display.o \
325 rpcclient
/cmd_lsarpc.o \
326 rpcclient
/cmd_wkssvc.o \
327 rpcclient
/cmd_samr.o \
328 rpcclient
/cmd_srvsvc.o \
329 rpcclient
/cmd_netlogon.o \
330 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
) \
331 $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) $(PASSDB_OBJ
)
333 DEBUG2HTML_OBJ
= utils
/debug2html.o ubiqx
/debugparse.o
335 SMBFILTER_OBJ
= utils
/smbfilter.o
$(LIBSMB_OBJ
) $(PARAM_OBJ
) \
336 $(UBIQX_OBJ
) $(LIB_OBJ
)
338 PROTO_OBJ
= $(SMBD_OBJ
) $(NMBD_OBJ
) $(SWAT_OBJ
) $(CLIENT_OBJ
) \
339 $(SMBWRAPPER_OBJ
) $(SMBTORTURE_OBJ
) $(RPCCLIENT_OBJ
) \
342 NSS_OBJ_0
= nsswitch
/wins.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIBSMB_OBJ
) $(LIB_OBJ
) $(NSSWINS_OBJ
)
343 NSS_OBJ
= $(NSS_OBJ_0
:.o
=.po
)
345 PICOBJS
= $(SMBWRAPPER_OBJ
:.o
=.po
)
346 PICOBJS32
= $(SMBWRAPPER_OBJ
:.o
=.po32
)
347 LIBSMBCLIENT_PICOBJS
= $(LIBSMBCLIENT_OBJ
:.0=.po
)
350 nsswitch
/winbindd.o \
351 nsswitch
/winbindd_user.o \
352 nsswitch
/winbindd_group.o \
353 nsswitch
/winbindd_idmap.o \
354 nsswitch
/winbindd_util.o \
355 nsswitch
/winbindd_cache.o \
356 nsswitch
/winbindd_pam.o
360 $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) $(STUB_UID_OBJ
) \
361 $(LIBNMB_OBJ
) $(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIB_OBJ
) \
362 $(NSSWINS_OBJ
) $(SIDDB_OBJ
) $(LIBSMB_OBJ
)
364 WBINFO_OBJ
= nsswitch
/wbinfo.o nsswitch
/wb_common.o
366 WINBIND_NSS_OBJ
= nsswitch
/winbind.o nsswitch
/wb_common.o
368 WINBIND_NSS_PICOBJS
= $(WINBIND_NSS_OBJ
:.o
=.po
)
371 NSS_OBJ_0
= nsswitch
/wins.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) $(LIBSMB_OBJ
) $(LIB_OBJ
) $(NSSWINS_OBJ
)
372 NSS_OBJ
= $(NSS_OBJ_0
:.o
=.po
)
374 ######################################################################
376 ######################################################################
378 all : CHECK
$(SPROGS
) $(PROGS
)
380 smbwrapper
: CHECK bin
/smbsh bin
/smbwrapper.@SHLIBEXT@ @WRAP32@
382 smbtorture
: CHECK bin
/smbtorture
384 masktest
: CHECK bin
/masktest
386 msgtest
: CHECK bin
/msgtest
388 locktest
: CHECK bin
/locktest
390 smbcacls
: CHECK bin
/smbcacls
392 locktest2
: CHECK bin
/locktest2
394 rpctorture
: CHECK bin
/rpctorture
396 debug2html
: CHECK bin
/debug2html
398 smbfilter
: CHECK bin
/smbfilter
401 .SUFFIXES
: .c .o .po .po32 .lo
404 @echo
"Using FLAGS = $(FLAGS)"
405 @echo
"Using FLAGS32 = $(FLAGS32)"
406 @echo
"Using LIBS = $(LIBS)"
408 MAKEDIR
= || exec false
; \
409 if
test -d
"$$dir"; then
:; else \
410 echo mkdir
"$$dir"; \
411 mkdir
-p
"$$dir" >/dev
/null
2>&1 || \
414 exec false
; fi || exec false
417 @if
(: >> $@ ||
: > $@
) >/dev
/null
2>&1; then
rm -f
$@
; else \
418 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR
); fi
420 @
$(CC
) -I.
-I
$(srcdir) $(FLAGS
) -c
$< \
422 @BROKEN_CC@
-mv
`echo $@ | sed 's%^.*/%%g'` $@
424 # This is for libtool
426 @if
(: >> $@ ||
: > $@
) >/dev
/null
2>&1; then
rm -f
$@
; else \
427 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR
); fi
428 @echo Compiling
$< with libtool
429 @
$(LIBTOOL
) --mode
=compile \
430 $(CC
) -I.
-I
$(srcdir) $(FLAGS
) -c
$< \
434 @if
(: >> $@ ||
: > $@
) >/dev
/null
2>&1; then
rm -f
$@
; else \
435 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR
); fi
436 @echo Compiling
$*.c with @PICFLAG@
437 @
$(CC
) -I.
-I
$(srcdir) $(FLAGS
) @PICFLAG@
-c
$< \
439 @BROKEN_CC@
-mv
`echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@.o
444 @if
(: >> $@ ||
: > $@
) >/dev
/null
2>&1; then
rm -f
$@
; else \
445 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR
); fi
446 @echo Compiling
$*.c with @PICFLAG@ and
-32
447 @
$(CC
) -32 -I.
-I
$(srcdir) $(FLAGS32
) @PICFLAG@
-c
$< \
449 @BROKEN_CC@
-mv
`echo $@ | sed -e 's%^.*/%%g' -e 's%\.po32$$%.o%'` $@.o
453 @if
(: >> $@ ||
: > $@
) >/dev
/null
2>&1; then
:; else \
454 dir=bin
$(MAKEDIR
); fi
455 @
: >> $@ ||
: > $@
# what a fancy emoticon!
457 bin
/smbd
: $(SMBD_OBJ
) bin
/.dummy
459 @
$(CC
) $(FLAGS
) -o
$@
$(SMBD_OBJ
) $(LDFLAGS
) $(LIBS
)
461 bin
/nmbd
: $(NMBD_OBJ
) bin
/.dummy
463 @
$(CC
) $(FLAGS
) -o
$@
$(NMBD_OBJ
) $(LDFLAGS
) $(LIBS
)
465 bin
/swat
: $(SWAT_OBJ
) bin
/.dummy
467 @
$(CC
) $(FLAGS
) -o
$@
$(SWAT_OBJ
) $(LDFLAGS
) $(LIBS
)
469 bin
/smbrun
: $(SMBRUN_OBJ
) bin
/.dummy
471 @
$(CC
) $(FLAGS
) -o
$@
$(SMBRUN_OBJ
) $(LDFLAGS
) $(LIBS
)
473 bin
/rpcclient
: $(RPCCLIENT_OBJ
) bin
/.dummy
475 @
$(CC
) $(FLAGS
) -o
$@
$(RPCCLIENT_OBJ
) $(LDFLAGS
) $(LIBS
)
477 bin
/smbclient
: $(CLIENT_OBJ
) bin
/.dummy
479 @
$(CC
) $(FLAGS
) -o
$@
$(CLIENT_OBJ
) $(LDFLAGS
) $(LIBS
)
481 bin
/smbspool
: $(CUPS_OBJ
) bin
/.dummy
483 @
$(CC
) $(FLAGS
) -o
$@
$(CUPS_OBJ
) $(LDFLAGS
) $(LIBS
)
485 bin
/smbmount
: $(MOUNT_OBJ
) bin
/.dummy
487 @
$(CC
) $(FLAGS
) -o
$@
$(MOUNT_OBJ
) $(LIBS
)
489 bin
/smbmnt
: $(MNT_OBJ
) bin
/.dummy
491 @
$(CC
) $(FLAGS
) -o
$@
$(MNT_OBJ
) $(LIBS
)
493 bin
/smbumount
: $(UMOUNT_OBJ
) bin
/.dummy
495 @
$(CC
) $(FLAGS
) -o
$@
$(UMOUNT_OBJ
) $(LIBS
)
497 bin
/testparm
: $(TESTPARM_OBJ
) bin
/.dummy
499 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPARM_OBJ
) $(LDFLAGS
) $(LIBS
)
501 bin
/testprns
: $(TESTPRNS_OBJ
) bin
/.dummy
503 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPRNS_OBJ
) $(LDFLAGS
) $(LIBS
)
505 bin
/smbstatus
: $(STATUS_OBJ
) bin
/.dummy
507 @
$(CC
) $(FLAGS
) -o
$@
$(STATUS_OBJ
) $(LDFLAGS
) $(LIBS
)
509 bin
/smbcontrol
: $(SMBCONTROL_OBJ
) bin
/.dummy
511 @
$(CC
) $(FLAGS
) -o
$@
$(SMBCONTROL_OBJ
) $(LDFLAGS
) $(LIBS
)
513 bin
/smbpasswd
: $(SMBPASSWD_OBJ
) bin
/.dummy
515 @
$(CC
) $(FLAGS
) -o
$@
$(SMBPASSWD_OBJ
) $(LDFLAGS
) $(LIBS
)
517 bin
/pdbedit
: $(PDBEDIT_OBJ
) bin
/.dummy
519 @
$(CC
) $(FLAGS
) -o
$@
$(PDBEDIT_OBJ
) $(LDFLAGS
) $(LIBS
)
521 bin
/make_smbcodepage
: $(MAKE_SMBCODEPAGE_OBJ
) bin
/.dummy
523 @
$(CC
) $(FLAGS
) -o
$@
$(MAKE_SMBCODEPAGE_OBJ
) $(LDFLAGS
) $(LIBS
)
525 bin
/make_unicodemap
: $(MAKE_UNICODEMAP_OBJ
) bin
/.dummy
527 @
$(CC
) $(FLAGS
) -o
$@
$(MAKE_UNICODEMAP_OBJ
) $(LDFLAGS
) $(LIBS
)
529 bin
/nmblookup
: $(NMBLOOKUP_OBJ
) bin
/.dummy
531 @
$(CC
) $(FLAGS
) -o
$@
$(NMBLOOKUP_OBJ
) $(LDFLAGS
) $(LIBS
)
533 bin
/make_printerdef
: $(MAKE_PRINTERDEF_OBJ
) bin
/.dummy
535 @
$(CC
) $(FLAGS
) -o
$@
$(MAKE_PRINTERDEF_OBJ
) $(LDFLAGS
) $(LIBS
)
537 bin
/smbtorture
: $(SMBTORTURE_OBJ
) bin
/.dummy
539 @
$(CC
) $(FLAGS
) -o
$@
$(SMBTORTURE_OBJ
) $(LDFLAGS
) $(LIBS
)
541 bin
/masktest
: $(MASKTEST_OBJ
) bin
/.dummy
543 @
$(CC
) $(FLAGS
) -o
$@
$(MASKTEST_OBJ
) $(LDFLAGS
) $(LIBS
)
545 bin
/msgtest
: $(MSGTEST_OBJ
) bin
/.dummy
547 @
$(CC
) $(FLAGS
) -o
$@
$(MSGTEST_OBJ
) $(LDFLAGS
) $(LIBS
)
549 bin
/smbcacls
: $(SMBCACLS_OBJ
) bin
/.dummy
551 @
$(CC
) $(FLAGS
) -o
$@
$(SMBCACLS_OBJ
) $(LDFLAGS
) $(LIBS
)
553 bin
/locktest
: $(LOCKTEST_OBJ
) bin
/.dummy
555 @
$(CC
) $(FLAGS
) -o
$@
$(LOCKTEST_OBJ
) $(LDFLAGS
) $(LIBS
)
557 bin
/locktest2
: $(LOCKTEST2_OBJ
) bin
/.dummy
559 @
$(CC
) $(FLAGS
) -o
$@
$(LOCKTEST2_OBJ
) $(LDFLAGS
) $(LIBS
)
561 bin
/rpctorture
: $(RPCTORTURE_OBJ
) bin
/.dummy
563 @
$(CC
) $(FLAGS
) -o
$@
$(RPCTORTURE_OBJ
) $(LDFLAGS
) $(LIBS
)
565 bin
/debug2html
: $(DEBUG2HTML_OBJ
) bin
/.dummy
567 @
$(CC
) $(FLAGS
) -o
$@
$(DEBUG2HTML_OBJ
) $(LDFLAGS
) $(LIBS
)
569 bin
/smbfilter
: $(SMBFILTER_OBJ
) bin
/.dummy
571 @
$(CC
) $(FLAGS
) -o
$@
$(SMBFILTER_OBJ
) $(LDFLAGS
) $(LIBS
)
574 bin
/smbw_sample
: $(SMBW_OBJ
) utils
/smbw_sample.o bin
/.dummy
576 @
$(CC
) $(FLAGS
) -o
$@
$(SMBW_OBJ
) utils
/smbw_sample.o
$(LDFLAGS
) $(LIBS
)
578 bin
/smbwrapper.@SHLIBEXT@
: $(PICOBJS
)
579 @echo Linking shared library
$@
580 @
$(LD
) @LDSHFLAGS@
-o
$@
$(PICOBJS
) $(LIBS
)
582 bin
/smbwrapper
.32.@SHLIBEXT@
: $(PICOBJS32
)
583 @echo Linking shared library
$@
584 @
$(LD
) -32 @LDSHFLAGS@
-o
$@
$(PICOBJS32
) $(LIBS
)
586 bin
/libsmbclient.so
: $(LIBSMBCLIENT_PICOBJS
)
587 @echo Linking libsmbclient shared library
$@
588 @
$(LD
) -shared
-o
$@
$(LIBSMBCLIENT_PICOBJS
) $(LIBS
) # Anything else?
590 client
/testsmbc
: client
/testsmbc.o bin
/libsmbclient.so
591 @echo Linking testsmbc
592 @
$(CC
) $(CFLAGS
) -o
$@ client
/testsmbc.o
-Lbin
-lsmbclient
594 bin
/smbsh
: $(SMBSH_OBJ
) bin
/.dummy
596 @
$(CC
) $(FLAGS
) -o
$@
$(SMBSH_OBJ
) $(LDFLAGS
) $(LIBS
)
598 nsswitch
/libnss_wins.so
: $(NSS_OBJ
)
600 @
$(LD
) @LDSHFLAGS@
-o
$@
$(NSS_OBJ
) -lc
602 bin
/winbindd
: $(WINBINDD_OBJ
) bin
/.dummy
604 @
$(LINK
) -o
$@
$(WINBINDD_OBJ
) $(LIBS
)
606 nsswitch
/libnss_winbind.so
: $(WINBIND_NSS_PICOBJS
)
608 @
$(LINK
) -shared
-o
$@
$(WINBIND_NSS_PICOBJS
)
610 nsswitch
/pam_winbind.so
: $(PAM_WINBIND_OBJ
) bin
/.dummy
612 @
$(LINK
) -shared
-o
$@
$(PAM_WINBIND_OBJ
)
614 bin
/wbinfo
: $(WBINFO_OBJ
) $(PARAM_OBJ
) $(LIB_OBJ
) $(NOPROTO_OBJ
) $(UBIQX_OBJ
) bin
/.dummy
616 @
$(LINK
) -o
$@
$(WBINFO_OBJ
) $(PARAM_OBJ
) $(LIB_OBJ
) $(NOPROTO_OBJ
) \
619 nsswitch
: nsswitch
/libnss_wins.so nsswitch
/pam_winbind.so \
620 nsswitch
/libnss_winbind.so bin
/wbinfo
622 install: installbin installman installscripts installcp installswat
625 $(SHELL
) $(srcdir)/install-sh
-d
-m
$(INSTALLPERMS
) \
626 $(BASEDIR
) $(SBINDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(CODEPAGEDIR
)
628 installservers
: all installdirs
629 @
$(SHELL
) $(srcdir)/script
/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
631 installbin
: all installdirs
632 @
$(SHELL
) $(srcdir)/script
/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
633 @
$(SHELL
) $(srcdir)/script
/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
635 installscripts
: installdirs
636 @
$(SHELL
) $(srcdir)/script
/installscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
638 installcp
: installdirs
639 @
$(SHELL
) $(srcdir)/script
/installcp.sh
$(srcdir) $(LIBDIR
) $(CODEPAGEDIR
) $(BINDIR
) $(CODEPAGELIST
)
641 installswat
: installdirs
642 @
$(SHELL
) $(srcdir)/script
/installswat.sh
$(SWATDIR
) $(srcdir)
645 @
$(INSTALLCMD
) bin
/libsmbclient.so
$(LIBDIR
)
646 @
$(INSTALLCMD
) -d
${prefix}/include
647 @
$(INSTALLCMD
) include/libsmbclient.h
${prefix}/include
649 # revert to the previously installed version
651 @
$(SHELL
) $(srcdir)/script
/revert.sh
$(SBINDIR
) $(SPROGS
)
652 @
$(SHELL
) $(srcdir)/script
/revert.sh
$(BINDIR
) $(PROGS
) $(SCRIPTS
)
655 @
$(SHELL
) $(srcdir)/script
/installman.sh
$(MANDIR
) $(srcdir) "@ROFF@"
657 uninstall: uninstallman uninstallbin uninstallscripts uninstallcp
660 @
$(SHELL
) $(srcdir)/script
/uninstallman.sh
$(MANDIR
) $(srcdir)
663 @
$(SHELL
) $(srcdir)/script
/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
664 @
$(SHELL
) $(srcdir)/script
/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
667 @
$(SHELL
) $(srcdir)/script
/uninstallscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
670 @
$(SHELL
) $(srcdir)/script
/uninstallcp.sh
$(CODEPAGEDIR
) $(CODEPAGELIST
)
673 -rm -f core
*/*~
*~
*/*.o
*/*.po
*/*.po32
*/*.@SHLIBEXT@
675 proto
: rpc_client_proto
676 @echo rebuilding
include/proto.h
677 @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
680 @cd
$(srcdir) && $(SHELL
) script
/mkproto.sh
$(AWK
) \
681 -h _RPC_CLIENT_PROTO_H_
include/rpc_client_proto.h \
685 etags
`find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
688 ctags
`find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
691 -rm -f config.log
$(PROGS
) $(SPROGS
) bin
/.dummy
695 -rm -f
include/config.h Makefile
696 -rm -f config.status config.cache so_locations
700 # This target is for documenation updators. It regenerates
701 # the man pages and HTML docs from the YODL source files.
702 # In order for this target to work YODL must be installed
703 # and working on your system. JRA.
705 @
$(SHELL
) $(srcdir)/script
/makeyodldocs.sh
$(srcdir)
707 # this target is really just for my use. It only works on a limited
708 # range of machines and is used to produce a list of potentially
709 # dead (ie. unused) functions in the code. (tridge)
711 nm
*/*.o |grep
'U ' | awk
'{print $$2}' |
sort -u
> nmused.txt
712 nm
*/*.o |grep
'T ' | awk
'{print $$3}' |
sort -u
> nmfns.txt
713 comm
-13 nmused.txt nmfns.txt
716 # when configure.in is updated, reconfigure
717 $(srcdir)/configure
: $(srcdir)/configure.in
718 @echo
"WARNING: you need to rerun autoconf"
720 config.status
: $(srcdir)/configure
721 @echo
"WARNING: you need to run configure"
723 Makefile
: $(srcdir)/Makefile.in config.status
724 @echo
"WARNING: you need to run ./config.status"