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
= smbtar 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
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
/username.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 \
127 smbd
/print_svid.o smbd
/printing.o smbd
/quotas.o smbd
/reply.o \
128 smbd
/ssl.o smbd
/trans2.o smbd
/uid.o
130 SMBD_OBJ
= $(SMBD_OBJ1
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
131 $(RPC_SERVER_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
132 $(LOCKING_OBJ
) $(PASSDB_OBJ
) $(LIB_OBJ
)
135 NMBD_OBJ1
= nmbd
/asyncdns.o nmbd
/nmbd.o nmbd
/nmbd_become_dmb.o \
136 nmbd
/nmbd_become_lmb.o nmbd
/nmbd_browserdb.o \
137 nmbd
/nmbd_browsesync.o nmbd
/nmbd_elections.o \
138 nmbd
/nmbd_incomingdgrams.o nmbd
/nmbd_incomingrequests.o \
139 nmbd
/nmbd_lmhosts.o nmbd
/nmbd_logonnames.o nmbd
/nmbd_mynames.o \
140 nmbd
/nmbd_namelistdb.o nmbd
/nmbd_namequery.o \
141 nmbd
/nmbd_nameregister.o nmbd
/nmbd_namerelease.o \
142 nmbd
/nmbd_nodestatus.o nmbd
/nmbd_packets.o \
143 nmbd
/nmbd_processlogon.o nmbd
/nmbd_responserecordsdb.o \
144 nmbd
/nmbd_sendannounce.o nmbd
/nmbd_serverlistdb.o \
145 nmbd
/nmbd_subnetdb.o nmbd
/nmbd_winsproxy.o nmbd
/nmbd_winsserver.o \
146 nmbd
/nmbd_workgroupdb.o
148 NMBD_OBJ
= $(NMBD_OBJ1
) $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) \
149 $(PASSDB_OBJ
) $(LIB_OBJ
)
151 SWAT_OBJ
= web
/cgi.o web
/diagnose.o web
/startstop.o web
/statuspage.o \
154 $(PASSDB_OBJ
) $(LIBSMB_OBJ
) $(LOCKING_OBJ
) \
155 $(PARAM_OBJ
) $(RPC_CLIENT_OBJ
) $(RPC_PARSE_OBJ
) \
156 $(UBIQX_OBJ
) $(LIB_OBJ
)
158 SMBRUN_OBJ
= utils
/smbrun.o
160 TESTPARM_OBJ
= utils
/testparm.o smbd
/access.o
$(PARAM_OBJ
) $(PASSDB_OBJ
) \
161 $(UBIQX_OBJ
) $(LIB_OBJ
)
163 TESTPRNS_OBJ
= utils
/testprns.o
$(PARAM_OBJ
) $(UBIQX_OBJ
) $(PASSDB_OBJ
) \
166 CLIENT_OBJ
= client
/client.o client
/clientutil.o client
/clitar.o \
167 $(PARAM_OBJ
) $(LIBSMB_OBJ
) $(UBIQX_OBJ
) $(PASSDB_OBJ
) $(LIB_OBJ
)
169 PROTO_OBJ
= $(SMBD_OBJ
) $(NMBD_OBJ
) $(SWAT_OBJ
) $(CLIENT_OBJ
)
171 ######################################################################
173 ######################################################################
175 all : $(SPROGS
) $(PROGS
)
182 @
$(CC
) -I.
-I
$(srcdir) $(FLAGS
) -c
$< -o
$@
184 bin
/smbd
: $(SMBD_OBJ
)
186 @
$(CC
) $(FLAGS
) -o
$@
$(SMBD_OBJ
) $(LIBS
)
188 bin
/nmbd
: $(NMBD_OBJ
)
190 @
$(CC
) $(FLAGS
) -o
$@
$(NMBD_OBJ
) $(LIBS
)
192 bin
/swat
: $(SWAT_OBJ
)
194 @
$(CC
) $(FLAGS
) -o
$@
$(SWAT_OBJ
) $(LIBS
)
196 bin
/smbrun
: $(SMBRUN_OBJ
)
198 @
$(CC
) $(FLAGS
) -o
$@
$(SMBRUN_OBJ
) $(LIBS
)
200 bin
/smbclient
: $(CLIENT_OBJ
)
202 @
$(CC
) $(FLAGS
) -o
$@
$(CLIENT_OBJ
) $(LIBS
)
204 bin
/testparm
: $(TESTPARM_OBJ
)
206 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPARM_OBJ
) $(LIBS
)
208 bin
/testprns
: $(TESTPRNS_OBJ
)
210 @
$(CC
) $(FLAGS
) -o
$@
$(TESTPRNS_OBJ
) $(LIBS
)
213 nmblookup
: $(LOOKUP_OBJ
)
214 @echo Linking nmblookup
215 @
$(CC
) $(FLAGS
) -o nmblookup
$(LOOKUP_OBJ
) $(LIBS
)
217 smbmount
: $(MOUNT_OBJ
)
218 @echo Linking smbmount
219 @
$(CC
) $(FLAGS
) -o smbmount
$(MOUNT_OBJ
) $(LIBS
)
223 @
$(CC
) $(FLAGS
) -o smbmnt
$(MNT_OBJ
)
225 smbumount
: $(UMOUNT_OBJ
)
226 @echo Linking smbumount
227 @
$(CC
) $(FLAGS
) -o smbumount
$(UMOUNT_OBJ
)
229 smbtorture
: torture.o getsmbpass.o
$(UTILOBJ
) $(CLIENTUTIL
)
230 @echo Linking smbtorture
231 @
$(CC
) $(FLAGS
) -o smbtorture torture.o getsmbpass.o
$(UTILOBJ
) $(CLIENTUTIL
) $(LIBS
)
233 smbstatus
: $(STATUS_OBJ
)
234 @echo Linking smbstatus
235 @
$(CC
) $(FLAGS
) -o smbstatus
$(STATUS_OBJ
) $(LIBS
)
237 smbpasswd
: smbpasswd.o getsmbpass.o
$(PASSDB_OBJ
) $(UTILOBJ
) $(CLIENTUTIL
) $(RPC_CLIENT_SERVER_SUBSET_OBJ
) $(RPC_OBJ
)
238 @echo Linking smbpasswd
239 @
$(CC
) $(FLAGS
) -o smbpasswd smbpasswd.o getsmbpass.o
$(PASSDB_OBJ
) $(UTILOBJ
) $(CLIENTUTIL
) \
240 $(RPC_CLIENT_SERVER_SUBSET_OBJ
) $(RPC_OBJ
) $(LIBS
)
242 make_smbcodepage
: make_smbcodepage.o
$(UTILOBJ
)
243 @echo Linking make_smbcodepage
244 @
$(CC
) $(FLAGS
) -o make_smbcodepage make_smbcodepage.o
$(UTILOBJ
) $(LIBS
)
246 make_printerdef
: make_printerdef.o
$(UTILOBJ
)
247 @echo Linking make_printerdef
248 @
$(CC
) $(FLAGS
) -o make_printerdef make_printerdef.o
$(UTILOBJ
) $(LIBS
)
250 wsmbstatus
: wsmbstatus.o
$(UTILOBJ
)
251 @echo Linking wsmbstatus
252 @
$(CC
) $(FLAGS
) -o wsmbstatus wsmbstatus.o
$(UTILOBJ
) $(LIBS
)
254 install: installbin installman installscripts installcp installswat
257 @
$(SHELL
) $(srcdir)/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
258 @
$(SHELL
) $(srcdir)/installbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
261 @
$(SHELL
) $(srcdir)/installscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
264 @
$(SHELL
) $(srcdir)/installcp.sh
$(LIBDIR
) $(CODEPAGEDIR
) $(BINDIR
) $(CODEPAGELIST
)
267 @
$(SHELL
) $(srcdir)/installswat.sh
$(SWATDIR
) $(srcdir)
269 # revert to the previously installed version
271 @
$(SHELL
) $(srcdir)/revert.sh
$(SBINDIR
) $(SPROGS
) $(SCRIPTS
)
272 @
$(SHELL
) $(srcdir)/revert.sh
$(BINDIR
) $(PROGS
) $(SCRIPTS
)
275 @
$(SHELL
) $(srcdir)/installman.sh
$(MANDIR
) $(srcdir)
277 uninstall: uninstallman uninstallbin uninstallscripts uninstallcp
280 @
$(SHELL
) $(srcdir)/uninstallman.sh
$(MANDIR
) $(srcdir)
283 @
$(SHELL
) $(srcdir)/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(SBINDIR
) $(LIBDIR
) $(VARDIR
) $(SPROGS
)
284 @
$(SHELL
) $(srcdir)/uninstallbin.sh
$(INSTALLPERMS
) $(BASEDIR
) $(BINDIR
) $(LIBDIR
) $(VARDIR
) $(PROGS
)
287 @
$(SHELL
) $(srcdir)/uninstallscripts.sh
$(INSTALLPERMS
) $(BINDIR
) $(SCRIPTS
)
290 @
$(SHELL
) $(srcdir)/uninstallcp.sh
$(CODEPAGEDIR
) $(CODEPAGELIST
)
293 @echo Cleaning up ...
294 @
rm -f core
*.o
*/*.o
$(PROTOOBJ
) lib
/rpc
/*/*.o
*~ config.cache
$(PROGS
) $(SPROGS
)
300 $(AWK
) -f script
/mkproto.awk
`echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | grep -v "ubiqx/"` > include/proto.h
303 etags
`find . -name "*.[ch]"`
306 ctags
`find . -name "*.[ch]"`