1########################################################################### 2# Makefile.in for Samba - rewritten for autoconf support 3# Copyright Andrew Tridgell 1992-1998 4########################################################################### 5 6prefix=@prefix@ 7exec_prefix=@exec_prefix@ 8mandir=@mandir@ 9 10LIBS=@LIBS@ 11CC=@CC@ 12CFLAGS=@CFLAGS@ 13CPPFLAGS=@CPPFLAGS@ 14LDFLAGS=@LDFLAGS@ 15AWK=@AWK@ 16 17INSTALLCMD=@INSTALL@ 18 19VPATH=@srcdir@ 20srcdir=@srcdir@ 21builddir=@builddir@ 22SHELL=/bin/sh 23 24BASEDIR= @prefix@ 25BINDIR = @bindir@ 26# we don't use sbindir because we want full compatibility with 27# the previous releases of Samba 28SBINDIR = @bindir@ 29LIBDIR = @libdir@ 30VARDIR = @localstatedir@ 31MANDIR = @mandir@ 32SAMBABOOK = @sambabook@ 33 34# The permissions to give the executables 35INSTALLPERMS = 0755 36 37# set these to where to find various files 38# These can be overridden by command line switches (see smbd(8)) 39# or in smb.conf (see smb.conf(5)) 40SMBLOGFILE = $(VARDIR)/smb 41NMBLOGFILE = $(VARDIR)/nmb 42CONFIGFILE = $(LIBDIR)/smb.conf 43LMHOSTSFILE = $(LIBDIR)/lmhosts 44DRIVERFILE = $(LIBDIR)/printers.def 45PASSWD_PROGRAM = /bin/passwd 46# This is where smbpasswd et al go 47PRIVATEDIR = @privatedir@ 48 49SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd 50 51# This is where SWAT images and help files go 52SWATDIR = @swatdir@ 53 54# the directory where lock files go 55LOCKDIR = @lockdir@ 56 57# The directory where code page definition files go 58CODEPAGEDIR = $(BASEDIR)/share 59 60# The current codepage definition list. 61CODEPAGELIST= 437 737 775 850 852 861 932 866 949 950 936 1251 ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI8-R 62 63# where you are going to have the smbrun binary. This defaults to the 64# install directory. This binary is needed for correct printing 65# and magic script execution. This should be an absolute path! 66# Also not that this should include the name "smbrun" on the end (the 67# name of the executable) 68SMBRUN = $(BINDIR)/smbrun 69 70 71PASSWD_FLAGS = -DPASSWD_PROGRAM=\"$(PASSWD_PROGRAM)\" -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" 72FLAGS1 = $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper $(CPPFLAGS) -DSMBLOGFILE=\"$(SMBLOGFILE)\" -DNMBLOGFILE=\"$(NMBLOGFILE)\" 73FLAGS2 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" 74FLAGS3 = -DSWATDIR=\"$(SWATDIR)\" -DSBINDIR=\"$(SBINDIR)\" -DLOCKDIR=\"$(LOCKDIR)\" -DSMBRUN=\"$(SMBRUN)\" -DCODEPAGEDIR=\"$(CODEPAGEDIR)\" 75FLAGS4 = -DDRIVERFILE=\"$(DRIVERFILE)\" -DBINDIR=\"$(BINDIR)\" 76FLAGS5 = $(FLAGS1) $(FLAGS2) $(FLAGS3) $(FLAGS4) -DHAVE_INCLUDES_H 77FLAGS = $(ISA) $(FLAGS5) $(PASSWD_FLAGS) 78FLAGS32 = $(ISA32) $(FLAGS5) $(PASSWD_FLAGS) 79 80SPROGS = bin/smbd bin/nmbd bin/swat 81PROGS1 = bin/smbclient bin/smbspool bin/testparm bin/testprns bin/smbstatus @RUNPROG@ 82PROGS2 = bin/rpcclient bin/smbpasswd bin/make_smbcodepage bin/make_unicodemap @WRAP@ @WRAP32@ 83MPROGS = @MPROGS@ 84PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/make_printerdef 85SHAREDPROGS = bin/smbd.shared bin/nmbd.shared bin/smbpasswd.shared bin/smbmount.shared bin/smbmnt.shared bin/smbumount.shared bin/libsmb.a 86 87SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script/convert_smbpasswd 88 89QUOTAOBJS=@QUOTAOBJS@ 90 91###################################################################### 92# object file lists 93###################################################################### 94 95LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \ 96 lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \ 97 lib/interfaces.o lib/pidfile.o lib/replace.o \ 98 lib/signal.o lib/slprintf.o lib/system.o lib/doscalls.o lib/time.o \ 99 lib/ufc.o lib/genrand.o lib/username.o lib/access.o lib/smbrun.o \ 100 lib/bitmap.o lib/crc32.o lib/snprintf.o \ 101 lib/util_str.o lib/util_sid.o \ 102 lib/util_unistr.o lib/util_file.o \ 103 lib/util.o lib/util_sock.o lib/util_sec.o smbd/ssl.o lib/fnmatch.o \ 104 lib/talloc.o lib/hash.o 105 106UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \ 107 ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o 108 109PARAM_OBJ = param/loadparm.o param/params.o 110 111LIBSMB_OBJ = libsmb/clientgen.o libsmb/namequery.o libsmb/nmblib.o \ 112 libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \ 113 libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \ 114 libsmb/passchange.o 115 116RPC_SERVER_OBJ = rpc_server/srv_lsa.o \ 117 rpc_server/srv_lsa_hnd.o rpc_server/srv_netlog.o \ 118 rpc_server/srv_pipe_hnd.o rpc_server/srv_reg.o \ 119 rpc_server/srv_samr.o rpc_server/srv_srvsvc.o \ 120 rpc_server/srv_util.o rpc_server/srv_wkssvc.o \ 121 rpc_server/srv_pipe.o 122 123RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_misc.o \ 124 rpc_parse/parse_net.o rpc_parse/parse_prs.o \ 125 rpc_parse/parse_reg.o rpc_parse/parse_rpc.o \ 126 rpc_parse/parse_samr.o rpc_parse/parse_srv.o \ 127 rpc_parse/parse_wks.o rpc_parse/parse_sec.o 128 129RPC_CLIENT_OBJ = \ 130 rpc_client/cli_login.o \ 131 rpc_client/cli_netlogon.o \ 132 rpc_client/cli_pipe.o \ 133 rpc_client/cli_lsarpc.o \ 134 rpc_client/cli_wkssvc.o \ 135 rpc_client/cli_srvsvc.o \ 136 rpc_client/cli_reg.o \ 137 rpc_client/cli_samr.o 138 139 140LOCKING_OBJ = locking/locking.o locking/locking_shm.o locking/locking_slow.o \ 141 locking/shmem.o locking/shmem_sysv.o 142 143PASSDB_OBJ = passdb/passdb.o passdb/smbpassfile.o passdb/smbpass.o \ 144 passdb/pass_check.o passdb/ldap.o passdb/nispass.o passdb/smbpasschange.o 145 146PROFILE_OBJ = profile/profile.o 147 148SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \ 149 smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \ 150 smbd/ipc.o smbd/mangle.o smbd/negprot.o \ 151 smbd/message.o smbd/nttrans.o smbd/pipes.o smbd/predict.o \ 152 smbd/$(QUOTAOBJS) smbd/reply.o smbd/trans2.o smbd/uid.o \ 153 smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o smbd/blocking.o \ 154 smbd/process.o smbd/oplock.o smbd/service.o smbd/error.o 155 156PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/printing.o \ 157 printing/print_cups.o 158 159SMBD_OBJ = $(SMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \ 160 $(RPC_SERVER_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \ 161 $(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) 162 163SMBDSHARED_OBJ = $(SMBD_OBJ1) $(RPC_SERVER_OBJ) \ 164 $(LOCKING_OBJ) $(PROFILE_OBJ) #$(PRINTING_OBJ) 165 166NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \ 167 nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \ 168 nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \ 169 nmbd/nmbd_incomingdgrams.o nmbd/nmbd_incomingrequests.o \ 170 nmbd/nmbd_lmhosts.o nmbd/nmbd_logonnames.o nmbd/nmbd_mynames.o \ 171 nmbd/nmbd_namelistdb.o nmbd/nmbd_namequery.o \ 172 nmbd/nmbd_nameregister.o nmbd/nmbd_namerelease.o \ 173 nmbd/nmbd_nodestatus.o nmbd/nmbd_packets.o \ 174 nmbd/nmbd_processlogon.o nmbd/nmbd_responserecordsdb.o \ 175 nmbd/nmbd_sendannounce.o nmbd/nmbd_serverlistdb.o \ 176 nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \ 177 nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o 178 179NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \ 180 $(LIB_OBJ) 181 182NMBDSHARED_OBJ = $(NMBD_OBJ1) 183 184SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \ 185 web/swat.o $(LIBSMB_OBJ) $(LOCKING_OBJ) \ 186 $(PARAM_OBJ) $(PASSDB_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \ 187 $(UBIQX_OBJ) $(LIB_OBJ) $(PRINTING_OBJ) 188 189SMBRUN_OBJ = utils/smbrun.o lib/util_sec.o 190 191SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \ 192 $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 193 194MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o $(PARAM_OBJ) \ 195 $(UBIQX_OBJ) $(LIB_OBJ) 196 197MAKE_UNICODEMAP_OBJ = utils/make_unicodemap.o $(PARAM_OBJ) \ 198 $(UBIQX_OBJ) $(LIB_OBJ) 199 200MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o $(PARAM_OBJ) \ 201 $(UBIQX_OBJ) $(LIB_OBJ) 202 203STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PARAM_OBJ) \ 204 $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) 205 206TESTPARM_OBJ = utils/testparm.o \ 207 $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 208 209TESTPRNS_OBJ = utils/testprns.o $(PARAM_OBJ) $(PRINTING_OBJ) $(UBIQX_OBJ) \ 210 $(LIB_OBJ) 211 212SMBPASSWD_OBJ = utils/smbpasswd.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \ 213 $(UBIQX_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(LIB_OBJ) 214 215SMBPASSWDSHARED_OBJ = utils/smbpasswd.o 216 217RPCCLIENT_OBJ = rpcclient/rpcclient.o \ 218 rpcclient/display.o \ 219 rpcclient/cmd_lsarpc.o \ 220 rpcclient/cmd_wkssvc.o \ 221 rpcclient/cmd_samr.o \ 222 rpcclient/cmd_reg.o \ 223 rpcclient/cmd_srvsvc.o \ 224 rpcclient/cmd_netlogon.o \ 225 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \ 226 $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) 227 228SMBWRAPPER_OBJ = smbwrapper/smbw.o smbwrapper/wrapped.o \ 229 smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \ 230 smbwrapper/realcalls.o smbwrapper/shared.o \ 231 $(LIBSMB_OBJ) $(PARAM_OBJ) \ 232 $(UBIQX_OBJ) $(LIB_OBJ) 233 234CLIENT_OBJ = client/client.o client/clitar.o \ 235 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 236 237CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 238 239MOUNT_OBJ = client/smbmount.o \ 240 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 241 242MOUNTSHARED_OBJ = client/smbmount.o 243 244MNT_OBJ = client/smbmnt.o \ 245 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 246 247MNTSHARED_OBJ = client/smbmnt.o 248 249UMOUNT_OBJ = client/smbumount.o \ 250 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 251 252UMOUNTSHARED_OBJ = client/smbumount.o 253 254NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) \ 255 $(LIBSMB_OBJ) $(LIB_OBJ) 256 257SMBTORTURE_OBJ = utils/torture.o utils/nbio.o $(LIBSMB_OBJ) $(PARAM_OBJ) \ 258 $(UBIQX_OBJ) $(LIB_OBJ) 259 260MASKTEST_OBJ = utils/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \ 261 $(UBIQX_OBJ) $(LIB_OBJ) 262 263RPCTORTURE_OBJ = utils/rpctorture.o \ 264 rpcclient/display.o \ 265 rpcclient/cmd_lsarpc.o \ 266 rpcclient/cmd_wkssvc.o \ 267 rpcclient/cmd_samr.o \ 268 rpcclient/cmd_srvsvc.o \ 269 rpcclient/cmd_netlogon.o \ 270 $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \ 271 $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) 272 273DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o 274 275SMBFILTER_OBJ = utils/smbfilter.o $(LIBSMB_OBJ) $(PARAM_OBJ) \ 276 $(UBIQX_OBJ) $(LIB_OBJ) 277 278PROTO_OBJ = $(SMBD_OBJ) $(NMBD_OBJ) $(SWAT_OBJ) $(CLIENT_OBJ) \ 279 $(RPCCLIENT_OBJ) $(SMBWRAPPER_OBJ) $(SMBTORTURE_OBJ) 280 281LIBSMBSHARED_OBJ = $(LIB_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) \ 282 $(PASSDB_OBJ) $(RPC_PARSE_OBJ) #$(RPC_CLIENT_OBJ) 283 284LIBSMB_PICOBJS = $(LIBSMBSHARED_OBJ:.o=.po) 285 286PICOBJS = $(SMBWRAPPER_OBJ:.o=.po) 287PICOBJS32 = $(SMBWRAPPER_OBJ:.o=.po32) 288 289###################################################################### 290# now the rules... 291###################################################################### 292 293all : CHECK $(SPROGS) $(PROGS) 294 295shared : CHECK $(SHAREDPROGS) 296 297smbwrapper : CHECK bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@ 298 299smbtorture : CHECK bin/smbtorture 300 301masktest : CHECK bin/masktest 302 303rpctorture : CHECK bin/rpctorture 304 305debug2html : CHECK bin/debug2html 306 307smbfilter : CHECK bin/smbfilter 308 309.SUFFIXES: 310.SUFFIXES: .c .o .po .po32 311 312CHECK: 313 @echo "Using FLAGS = $(FLAGS)" 314 @echo "Using FLAGS32 = $(FLAGS32)" 315 @echo "Using LIBS = $(LIBS)" 316 317MAKEDIR = || exec false; \ 318 if test -d "$$dir"; then :; else \ 319 echo mkdir "$$dir"; \ 320 mkdir -p "$$dir" >/dev/null 2>&1 || \ 321 test -d "$$dir" || \ 322 mkdir "$$dir" || \ 323 exec false; fi || exec false 324 325# the lines below containing `@MAINT@' are for atomatic dependency tracking 326# they will only work with GNU make, gcc and --enable-maintainer-mode 327# without --enable-maintainer-mode, they do nothing 328.c.o: @MAINT@ .deps/.dummy 329 @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 330 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 331@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \ 332@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \ 333@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d 334 @echo Compiling $*.c 335 @$(CC) -I. -I$(srcdir) $(FLAGS) -c $< \ 336 -o $@ @MAINT@ -Wp,-MD,.deps/$@ 337@BROKEN_CC@ -mv `echo $@ | sed 's%^.*/%%g'` $@ 338@MAINT@ @sed 's|^'`echo $@ | sed 's,.*/,,'`':|$@:|' \ 339@MAINT@ <.deps/$@ >.deps/$@d && \ 340@MAINT@ rm -f .deps/$@ && : >.deps/.stamp 341 342.c.po: @MAINT@ .deps/.dummy 343 @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 344 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 345@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \ 346@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \ 347@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d 348 @echo Compiling $*.c with @PICFLAG@ 349 @$(CC) -I. -I$(srcdir) $(FLAGS) @PICFLAG@ -c $< \ 350 -o $*.po.o @MAINT@ -Wp,-MD,.deps/$@ 351@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@.o 352@MAINT@ @sed 's|^'`echo $*\.po\.o | sed 's,.*/,,'`':|$@:|' \ 353@MAINT@ <.deps/$@ >.deps/$@d && \ 354@MAINT@ rm -f .deps/$@ && : >.deps/.stamp 355 @mv $*.po.o $@ 356 357# this is for IRIX 358.c.po32: @MAINT@ .deps/.dummy 359 @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 360 dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 361@MAINT@ @if (: >> .deps/$@ || : > .deps/$@) >/dev/null 2>&1; then :; \ 362@MAINT@ else dir=.deps/`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` \ 363@MAINT@ $(MAKEDIR); fi; rm -f .deps/$@ .deps/$@d 364 @echo Compiling $*.c with @PICFLAG@ and -32 365 @$(CC) -32 -I. -I$(srcdir) $(FLAGS32) @PICFLAG@ -c $< \ 366 -o $*.po32.o @MAINT@ -Wp,-MD,.deps/$@ 367@BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po32$$%.o%'` $@.o 368@MAINT@ @sed 's|^'`echo $*.po32.o | sed 's,.*/,,'`':|$@:|' \ 369@MAINT@ <.deps/$@ >.deps/$@d && \ 370@MAINT@ rm -f .deps/$@ && : >.deps/.stamp 371 @mv $*.po32.o $@ 372 373bin/.dummy: 374 @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \ 375 dir=bin $(MAKEDIR); fi 376 @: >> $@ || : > $@ # what a fancy emoticon! 377 378bin/smbd: $(SMBD_OBJ) bin/.dummy 379 @echo Linking $@ 380 @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(LIBS) 381 382bin/smbd.shared: $(SMBDSHARED_OBJ) bin/libsmb.@SHLIBEXT@ bin/.dummy 383 @echo Linking $@ 384 @$(CC) $(FLAGS) -o $@ $(SMBDSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 385 386bin/nmbd: $(NMBD_OBJ) bin/.dummy 387 @echo Linking $@ 388 @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS) 389 390bin/nmbd.shared: $(NMBDSHARED_OBJ) bin/libsmb.@SHLIBEXT@ bin/.dummy 391 @echo Linking $@ 392 @$(CC) $(FLAGS) -o $@ $(NMBDSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 393 394bin/swat: $(SWAT_OBJ) bin/.dummy 395 @echo Linking $@ 396 @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(LIBS) 397 398bin/smbrun: $(SMBRUN_OBJ) bin/.dummy 399 @echo Linking $@ 400 @$(CC) $(FLAGS) -o $@ $(SMBRUN_OBJ) $(LDFLAGS) $(LIBS) 401 402bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy 403 @echo Linking $@ 404 @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(LIBS) 405 406bin/smbclient: $(CLIENT_OBJ) bin/.dummy 407 @echo Linking $@ 408 @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(LIBS) 409 410bin/smbspool: $(CUPS_OBJ) bin/.dummy 411 @echo Linking $@ 412 @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS) 413 414bin/smbmount: $(MOUNT_OBJ) bin/.dummy 415 @echo Linking $@ 416 @$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LIBS) 417 418bin/smbmount.shared: $(MOUNTSHARED_OBJ) bin/.dummy 419 @echo Linking $@ 420 @$(CC) $(FLAGS) -o $@ $(MOUNTSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 421 422bin/smbmnt: $(MNT_OBJ) bin/.dummy 423 @echo Linking $@ 424 @$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LIBS) 425 426bin/smbmnt.shared: $(MNTSHARED_OBJ) bin/.dummy 427 @echo Linking $@ 428 @$(CC) $(FLAGS) -o $@ $(MNTSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 429 430bin/smbumount: $(UMOUNT_OBJ) bin/.dummy 431 @echo Linking $@ 432 @$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LIBS) 433 434bin/smbumount.shared: $(UMOUNTSHARED_OBJ) bin/.dummy 435 @echo Linking $@ 436 @$(CC) $(FLAGS) -o $@ $(UMOUNTSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 437 438bin/testparm: $(TESTPARM_OBJ) bin/.dummy 439 @echo Linking $@ 440 @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS) 441 442bin/testprns: $(TESTPRNS_OBJ) bin/.dummy 443 @echo Linking $@ 444 @$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(LIBS) 445 446bin/smbstatus: $(STATUS_OBJ) bin/.dummy 447 @echo Linking $@ 448 @$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS) 449 450bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy 451 @echo Linking $@ 452 @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS) 453 454bin/smbpasswd.shared: $(SMBPASSWDSHARED_OBJ) bin/libsmb.@SHLIBEXT@ bin/.dummy 455 @echo Linking $@ 456 @$(CC) $(FLAGS) -o $@ $(SMBPASSWDSHARED_OBJ) $(LDFLAGS) $(LIBS) -Lbin -lsmb 457 458bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy 459 @echo Linking $@ 460 @$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_OBJ) $(LDFLAGS) $(LIBS) 461 462bin/make_unicodemap: $(MAKE_UNICODEMAP_OBJ) bin/.dummy 463 @echo Linking $@ 464 @$(CC) $(FLAGS) -o $@ $(MAKE_UNICODEMAP_OBJ) $(LDFLAGS) $(LIBS) 465 466bin/nmblookup: $(NMBLOOKUP_OBJ) bin/.dummy 467 @echo Linking $@ 468 @$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS) 469 470bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ) bin/.dummy 471 @echo Linking $@ 472 @$(CC) $(FLAGS) -o $@ $(MAKE_PRINTERDEF_OBJ) $(LDFLAGS) $(LIBS) 473 474bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy 475 @echo Linking $@ 476 @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS) 477 478bin/masktest: $(MASKTEST_OBJ) bin/.dummy 479 @echo Linking $@ 480 @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS) 481 482bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy 483 @echo Linking $@ 484 @$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(LDFLAGS) $(LIBS) 485 486bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy 487 @echo Linking $@ 488 @$(CC) $(FLAGS) -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(LIBS) 489 490bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy 491 @echo Linking $@ 492 @$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS) 493 494bin/smbwrapper.@SHLIBEXT@: $(PICOBJS) 495 @echo Linking shared library $@ 496 @$(LD) @LDSHFLAGS@ -o $@ $(PICOBJS) $(LDFLAGS) $(LIBS) 497 498bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32) 499 @echo Linking shared library $@ 500 @$(LD) -32 @LDSHFLAGS@ -o $@ $(PICOBJS32) $(LDFLAGS) $(LIBS) 501 502bin/smbsh: $(SMBSH_OBJ) bin/.dummy 503 @echo Linking $@ 504 @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS) 505 506bin/libsmb.@SHLIBEXT@: $(LIBSMB_PICOBJS) bin/.dummy 507 @echo Linking shared library $@ 508 @$(LD) @LDSHFLAGS@ -o $@ $(LIBSMB_PICOBJS) $(LDFLAGS) $(LIBS) 509 510bin/libsmb.a: $(LIBSMB_PICOBJS) bin/.dummy 511 @$(AR) cruv $@ $(LIBSMB_PICOBJS) 512 @$(RANLIB) $@ 513 514install: installbin installman installscripts installcp installswat 515 516installdirs: 517 $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \ 518 $(BASEDIR) $(SBINDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(CODEPAGEDIR) 519 520installservers: all installdirs 521 @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS) 522 523installbin: all installdirs 524 @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS) 525 @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(PROGS) 526 527installscripts: installdirs 528 @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(BINDIR) $(SCRIPTS) 529 530installcp: installdirs 531 @$(SHELL) $(srcdir)/script/installcp.sh $(srcdir) $(LIBDIR) $(CODEPAGEDIR) $(BINDIR) $(CODEPAGELIST) 532 533installswat: installdirs 534 @$(SHELL) $(srcdir)/script/installswat.sh $(SWATDIR) $(srcdir) $(SAMBABOOK) 535 536# revert to the previously installed version 537revert: 538 @$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SPROGS) 539 @$(SHELL) $(srcdir)/script/revert.sh $(BINDIR) $(PROGS) $(SCRIPTS) 540 541installman: 542 @$(SHELL) $(srcdir)/script/installman.sh $(MANDIR) $(srcdir) "@ROFF@" 543 544uninstall: uninstallman uninstallbin uninstallscripts uninstallcp 545 546uninstallman: 547 @$(SHELL) $(srcdir)/script/uninstallman.sh $(MANDIR) $(srcdir) 548 549uninstallbin: 550 @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS) 551 @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(BASEDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(PROGS) 552 553uninstallscripts: 554 @$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS) $(BINDIR) $(SCRIPTS) 555 556uninstallcp: 557 @$(SHELL) $(srcdir)/script/uninstallcp.sh $(CODEPAGEDIR) $(CODEPAGELIST) 558 559clean: 560 -rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ bin/*.a 561 562proto: 563 @echo rebuilding include/proto.h 564 @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 565 566etags: 567 etags `find . -name "*.[ch]" | grep -v /CVS/` 568 569ctags: 570 ctags `find . -name "*.[ch]" | grep -v /CVS/` 571 572realclean: clean 573 -rm -f config.log $(PROGS) $(SPROGS) $(SHAREDPROGS) bin/.dummy 574 -rmdir bin 575 576distclean: realclean 577 -rm -f include/config.h include/stamp-h Makefile 578 -rm -f config.status config.cache so_locations 579 -rm -rf .deps 580 581# 582# This target is for documenation updators. It regenerates 583# the man pages and HTML docs from the YODL source files. 584# In order for this target to work YODL must be installed 585# and working on your system. JRA. 586yodldocs: 587 @$(SHELL) $(srcdir)/script/makeyodldocs.sh $(srcdir) 588 589# this target is really just for my use. It only works on a limited 590# range of machines and is used to produce a list of potentially 591# dead (ie. unused) functions in the code. (tridge) 592finddead: 593 nm */*.o |grep 'U ' | awk '{print $$2}' | sort -u > nmused.txt 594 nm */*.o |grep 'T ' | awk '{print $$3}' | sort -u > nmfns.txt 595 comm -13 nmused.txt nmfns.txt 596 597# Rules for maintainers (--enable-maintainer-mode) 598AUTOCONF=@AUTOCONF@ 599AUTOHEADER=@AUTOHEADER@ 600 601# when configure.in is updated, reconfigure 602$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4 603 cd $(srcdir) && $(AUTOCONF) 604 605config.status: $(srcdir)/configure 606 $(SHELL) ./config.status --recheck 607 608Makefile: $(srcdir)/Makefile.in config.status \ 609 include/stamp-h # just to ensure that config.h is up-to-date 610 CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status 611 612# note that nothing depends on config.h, so will probably be rebuilt 613# only when explicitly requested, unless dependency tracking is enabled 614include/config.h: include/stamp-h 615 @: 616 617include/stamp-h: $(srcdir)/include/config.h.in config.status 618 CONFIG_FILES= CONFIG_HEADERS=include/config.h $(SHELL) ./config.status 619 @echo > include/stamp-h 620 621$(srcdir)/include/config.h.in: $(srcdir)/include/stamp-h.in 622 @: 623 624$(srcdir)/include/stamp-h.in: @MAINT@ $(srcdir)/acconfig.h $(srcdir)/configure.in 625 cd $(srcdir) && $(AUTOHEADER) 626 @date -u > $@ 627 628# automatic dependency tracking rules 629.deps/.dummy: 630 @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \ 631 dir=.deps $(MAKEDIR); fi 632 @: >> $@ || : > $@ # what a fancy emoticon! 633 634.deps/.stamp: .deps/.dummy 635 @: >> $@ || : > $@ 636 637.deps/depend: .deps/.stamp 638 @echo Updating dependencies 639 @: | cat `find .deps -type f -name \*d` >$@ 2>/dev/null || true 640 641@MAINT@-include .deps/depend 642