linking smbclient commands with libsmb?
Richard Sharpe
rsharpe at richardsharpe.com
Thu Jan 23 18:20:01 GMT 2003
On Thu, 23 Jan 2003, Herb Lewis wrote:
> I did a quick check on the SAMBA_2_2 tree and got the following size
> differences when they were linked against libsmbclient instead of
> the "normal" linking. I've attached the patch to Makefile.in I used.
> Before running any of the commands you need to make sure you copy
> libsmbclient.so to your library path and create a link to
> libsmbclient.so.0
While there are size reductions, in my view, this is not the cleanest way
to do this.
We should think carefully about this. What is happening is the
libsmbclient.so is pulling in many of the things that are needed by all
these other commands, so linking against it ignores the libsmbclient entry
points, but it does save space etc.
A cleaner approach would be to create a smaller base library, and then
link that dynamically to both libsmbclient and to other things in Samba.
> file size w/ libsmb orig size % orig size
> make_printerdef 23,404 546,980 4.3
> make_smbcodepage 23,060 546,592 4.2
> make_unicodemap 22,844 546,376 4.2
> nmbd 219,824 982,588 22.4
> nmblookup 23,240 802,388 2.9
> rpcclient 716,964 1,479,716 48.5
> smbcacls 686,612 1,445,176 47.5
> smbclient 117,848 880,508 13.4
> smbcontrol 66,644 589,980 11.3
> smbd 1,698,216 2,411,664 70.4
> smbfilter 22,648 797,856 2.8
> smbpasswd 644,552 1,403,212 45.9
> smbsh 23,164 546,636 4.2
> smbspool 22,648 801,996 2.8
> smbstatus 70,736 594,068 11.9
> smbtorture 114,560 877,160 13.1
> swat 671,892 1,434,552 46.8
> testparm 22,644 546,224 4.1
> testprns 42,460 565,828 7.3
> wbinfo 68,040 591,360 11.5
> winbindd 1,057,968 1,564,856 67.6
>
>
--
Regards
-----
Richard Sharpe, rsharpe[at]ns.aus.com, rsharpe[at]samba.org,
sharpe[at]ethereal.com, http://www.richardsharpe.com
-------------- next part --------------
Index: Makefile.in
===================================================================
RCS file: /data/cvs/samba/source/Makefile.in,v
retrieving revision 1.227.2.151
diff -u -r1.227.2.151 Makefile.in
--- Makefile.in 6 Jan 2003 17:59:55 -0000 1.227.2.151
+++ Makefile.in 23 Jan 2003 16:36:35 -0000
@@ -209,9 +209,9 @@
MSDFS_OBJ = msdfs/msdfs.o
-SMBD_OBJ = $(SMBD_OBJ1) $(MSDFS_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
+SMBD_OBJ = $(SMBD_OBJ1) $(MSDFS_OBJ) \
$(RPC_SERVER_OBJ) $(RPC_PARSE_OBJ) $(RPC_CLIENT_OBJ) \
- $(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) \
+ $(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) \
$(PRINTBACKEND_OBJ) $(QUOTAOBJS) $(OPLOCK_OBJ) $(NOTIFY_OBJ)
@@ -228,45 +228,33 @@
nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \
nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o
-NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
- $(PROFILE_OBJ) $(LIB_OBJ)
+NMBD_OBJ = $(NMBD_OBJ1) $(PROFILE_OBJ)
SWAT_OBJ = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
- web/swat.o $(PRINTING_OBJ) $(LIBSMB_OBJ) $(LOCKING_OBJ) \
- $(PARAM_OBJ) $(PASSDB_OBJ) $(RPC_PARSE_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+ web/swat.o $(PRINTING_OBJ) $(LOCKING_OBJ) \
+ $(PASSDB_OBJ) $(RPC_PARSE_OBJ)
-SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
- $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o
-MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+MAKE_SMBCODEPAGE_OBJ = utils/make_smbcodepage.o
-MAKE_UNICODEMAP_OBJ = utils/make_unicodemap.o $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+MAKE_UNICODEMAP_OBJ = utils/make_unicodemap.o
-MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+MAKE_PRINTERDEF_OBJ = utils/make_printerdef.o
-STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ)
+STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PROFILE_OBJ)
-SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ)
+SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PROFILE_OBJ)
-TESTPARM_OBJ = utils/testparm.o \
- $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+TESTPARM_OBJ = utils/testparm.o
-TESTPRNS_OBJ = utils/testprns.o $(PARAM_OBJ) $(PRINTING_OBJ) $(UBIQX_OBJ) \
- $(LIB_OBJ)
+TESTPRNS_OBJ = utils/testprns.o $(PRINTING_OBJ)
-SMBPASSWD_OBJ = utils/smbpasswd.o $(PARAM_OBJ) \
- $(LIBSMB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ)\
- $(UBIQX_OBJ) $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(LIB_OBJ) \
+SMBPASSWD_OBJ = utils/smbpasswd.o $(PASSDB_OBJ) $(GROUPDB_OBJ)\
+ $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) \
libsmb/cli_lsarpc.o libsmb/cli_samr.o libsmb/cli_pipe_util.o
-PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ)
+PDBEDIT_OBJ = utils/pdbedit.o $(PASSDB_OBJ) $(GROUPDB_OBJ)
RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \
rpcclient/cmd_samr.o rpcclient/cmd_spoolss.o \
@@ -276,7 +264,6 @@
rpcclient/display_sec.o
RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_OBJ) \
$(READLINE_OBJ)
@@ -286,7 +273,7 @@
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
smbwrapper/realcalls.o smbwrapper/shared.o \
$(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+ $(UBIQX_OBJ) $(LIB_OBJ)
SMBWRAPPER_OBJ = $(SMBW_OBJ) smbwrapper/wrapped.o
@@ -294,45 +281,33 @@
$(PARAM_OBJ) $(UBIQX_OBJ)
CLIENT_OBJ = client/client.o client/clitar.o \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(READLINE_OBJ)
-CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+CUPS_OBJ = client/smbspool.o
-MOUNT_OBJ = client/smbmount.o \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+MOUNT_OBJ = client/smbmount.o
-MNT_OBJ = client/smbmnt.o \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+MNT_OBJ = client/smbmnt.o
-UMOUNT_OBJ = client/smbumount.o \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+UMOUNT_OBJ = client/smbumount.o
-NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) \
- $(LIBSMB_OBJ) $(LIB_OBJ)
+NMBLOOKUP_OBJ = utils/nmblookup.o
-SMBTORTURE_OBJ = utils/torture.o utils/nbio.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+SMBTORTURE_OBJ = utils/torture.o utils/nbio.o
-MASKTEST_OBJ = utils/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+MASKTEST_OBJ = utils/masktest.o
-MSGTEST_OBJ = utils/msgtest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+MSGTEST_OBJ = utils/msgtest.o
-LOCKTEST_OBJ = utils/locktest.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+LOCKTEST_OBJ = utils/locktest.o $(LOCKING_OBJ)
-NSSTEST_OBJ = utils/nsstest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+NSSTEST_OBJ = utils/nsstest.o
-SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
+SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
$(LIBMSRPC_OBJ)
-LOCKTEST2_OBJ = utils/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+LOCKTEST2_OBJ = utils/locktest2.o $(LOCKING_OBJ)
RPCTORTURE_OBJ = utils/rpctorture.o \
rpcclient/display.o \
@@ -341,17 +316,13 @@
rpcclient/cmd_samr.o \
rpcclient/cmd_srvsvc.o \
rpcclient/cmd_netlogon.o \
- $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(RPC_PARSE_OBJ) $(PASSDB_OBJ)
-RPCCHECK_OBJ = utils/rpccheck.o \
- $(LIB_OBJ) $(RPC_PARSE_OBJ) \
- $(UBIQX_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ)
+RPCCHECK_OBJ = utils/rpccheck.o $(RPC_PARSE_OBJ)
DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o
-SMBFILTER_OBJ = utils/smbfilter.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
- $(UBIQX_OBJ) $(LIB_OBJ)
+SMBFILTER_OBJ = utils/smbfilter.o
PROTO_OBJ = $(SMBD_OBJ) $(NMBD_OBJ) $(SWAT_OBJ) $(CLIENT_OBJ) \
$(SMBWRAPPER_OBJ) $(SMBTORTURE_OBJ) $(RPCCLIENT_OBJ1) \
@@ -400,7 +371,6 @@
WINBINDD_OBJ = \
$(WINBINDD_OBJ1) $(NOPROTO_OBJ) $(PASSDB_OBJ) \
- $(LIBNMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \
$(GROUPDB_OBJ) $(PROFILE_OBJ) \
$(NECESSARY_BECAUSE_SAMBA_DEPENDENCIES_ARE_SO_BROKEN_OBJ)
@@ -508,130 +478,130 @@
dir=bin $(MAKEDIR); fi
@: >> $@ || : > $@ # what a fancy emoticon!
-bin/smbd: $(SMBD_OBJ) bin/.dummy
+bin/smbd: $(SMBD_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/nmbd: $(NMBD_OBJ) bin/.dummy
+bin/nmbd: $(NMBD_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/swat: $(SWAT_OBJ) bin/.dummy
+bin/swat: $(SWAT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy
+bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/smbclient: $(CLIENT_OBJ) bin/.dummy
+bin/smbclient: $(CLIENT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) -L ./bin -lsmbclient
-bin/smbspool: $(CUPS_OBJ) bin/.dummy
+bin/smbspool: $(CUPS_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbmount: $(MOUNT_OBJ) bin/.dummy
+bin/smbmount: $(MOUNT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbmnt: $(MNT_OBJ) bin/.dummy
+bin/smbmnt: $(MNT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbumount: $(UMOUNT_OBJ) bin/.dummy
+bin/smbumount: $(UMOUNT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/testparm: $(TESTPARM_OBJ) bin/.dummy
+bin/testparm: $(TESTPARM_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/testprns: $(TESTPRNS_OBJ) bin/.dummy
+bin/testprns: $(TESTPRNS_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbstatus: $(STATUS_OBJ) bin/.dummy
+bin/smbstatus: $(STATUS_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbcontrol: $(SMBCONTROL_OBJ) bin/.dummy
+bin/smbcontrol: $(SMBCONTROL_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy
+bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/pdbedit: $(PDBEDIT_OBJ) bin/.dummy
+bin/pdbedit: $(PDBEDIT_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy
+bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/make_unicodemap: $(MAKE_UNICODEMAP_OBJ) bin/.dummy
+bin/make_unicodemap: $(MAKE_UNICODEMAP_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MAKE_UNICODEMAP_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MAKE_UNICODEMAP_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/nmblookup: $(NMBLOOKUP_OBJ) bin/.dummy
+bin/nmblookup: $(NMBLOOKUP_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ) bin/.dummy
+bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MAKE_PRINTERDEF_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MAKE_PRINTERDEF_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy
+bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/masktest: $(MASKTEST_OBJ) bin/.dummy
+bin/masktest: $(MASKTEST_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/msgtest: $(MSGTEST_OBJ) bin/.dummy
+bin/msgtest: $(MSGTEST_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/smbcacls: $(SMBCACLS_OBJ) bin/.dummy
+bin/smbcacls: $(SMBCACLS_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
-bin/locktest: $(LOCKTEST_OBJ) bin/.dummy
+bin/locktest: $(LOCKTEST_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/locktest2: $(LOCKTEST2_OBJ) bin/.dummy
+bin/locktest2: $(LOCKTEST2_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/nsstest: $(NSSTEST_OBJ) bin/.dummy
+bin/nsstest: $(NSSTEST_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
-bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy
+bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) -L ./bin -lsmbclient
bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(LIBS)
-bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy
+bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
bin/smbw_sample: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS)
-bin/smbsh: $(SMBSH_OBJ) bin/.dummy
+bin/smbsh: $(SMBSH_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS) -L ./bin -lsmbclient
bin/smbwrapper. at SHLIBEXT@: $(PICOBJS) bin/.dummy
@echo Linking shared library $@
@@ -645,7 +615,7 @@
bin/libsmbclient. at SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
@echo Linking libsmbclient shared library $@
- @$(SHLD) @LDSHFLAGS@ -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(LIBSMBCLIENT_PICOBJS) $(LIBS) \
@SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
@@ -662,9 +632,9 @@
@$(SHLD) @LDSHFLAGS@ -o $@ $(NSS_OBJ) -lc \
@SONAMEFLAG@`basename $@`
-bin/winbindd: $(WINBINDD_OBJ) bin/.dummy
+bin/winbindd: $(WINBINDD_OBJ) bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS) $(LDAPLIBS)
+ @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS) $(LDAPLIBS) -L ./bin -lsmbclient
nsswitch/libns_winbind.so: $(WINBIND_NSS_PICOBJS)
@echo "Linking $@"
@@ -682,10 +652,9 @@
@SONAMEFLAG@`basename $@`
bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
- $(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy
+ $(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy bin/libsmbclient.so
@echo Linking $@
- @$(LINK) -o $@ $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
- $(UBIQX_OBJ) $(LIBS) @BUILD_POPT@
+ @$(LINK) -o $@ $(WBINFO_OBJ) $(NOPROTO_OBJ) $(LIBS) -L ./bin -lsmbclient @BUILD_POPT@
bin/tdbbackup: $(TDBBACKUP_OBJ) bin/.dummy
@echo Linking $@
More information about the samba-technical
mailing list