LPROGS = $(WINBIND_PAM_PROGS) $(WINBIND_LPROGS)
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/pdbedit bin/smbgroupedit
-TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest bin/locktest2
+TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest \
+ bin/locktest2 bin/nsstest
SHLIBS = libsmbclient
SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script/convert_smbpasswd
PARAM_OBJ = param/loadparm.o param/params.o dynconfig.o
LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o libads/sasl.o \
- libads/krb5_setpw.o libads/kerberos.o \
+ libads/krb5_setpw.o libads/kerberos.o libads/ldap_user.o \
libads/ads_struct.o libads/ads_status.o passdb/secrets.o \
libads/util.o libads/disp_sec.o
auth/auth_rhosts.o auth/auth_unix.o auth/auth_util.o auth/auth_winbind.o \
auth/auth_builtin.o auth/auth_compat.o $(PLAINTEXT_AUTH_OBJ) $(UNIGRP_OBJ)
+MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_map.o smbd/mangle_hash2.o
SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \
smbd/utmp.o smbd/session.o \
smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \
- smbd/ipc.o smbd/lanman.o smbd/mangle.o smbd/negprot.o \
+ smbd/ipc.o smbd/lanman.o smbd/negprot.o \
smbd/message.o smbd/nttrans.o smbd/pipes.o \
smbd/reply.o smbd/sesssetup.o smbd/trans2.o smbd/uid.o \
smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o \
printing/printfsp.o lib/util_seaccess.o smbd/srvstr.o \
smbd/build_options.o \
smbd/change_trust_pw.o \
- rpc_client/cli_spoolss_notify.o
+ rpc_client/cli_spoolss_notify.o \
+ $(MANGLE_OBJ)
PRINTING_OBJ = printing/pcap.o printing/print_svid.o \
printing/print_cups.o printing/print_generic.o \
printing/lpq_parse.o printing/load.o
-
+
PRINTBACKEND_OBJ = printing/printing.o printing/nt_printing.o
MSDFS_OBJ = msdfs/msdfs.o
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(READLINE_OBJ)
-NET_OBJ = utils/net.o utils/net_ads.o \
+NET_OBJ = utils/net.o utils/net_ads.o utils/net_help.o \
utils/net_rap.o utils/net_rpc.o \
utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
$(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
$(LIBSMB_OBJ) $(LIB_OBJ)
SMBTORTURE_OBJ = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \
- torture/denytest.o \
+ torture/denytest.o torture/mangle_test.o \
$(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
MASKTEST_OBJ = torture/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
nsswitch/winbindd_sid.o \
nsswitch/winbindd_misc.o \
nsswitch/winbindd_cm.o \
+ nsswitch/winbindd_wins.o \
nsswitch/winbindd_rpc.o \
nsswitch/winbindd_ads.o
wins : SHOWFLAGS nsswitch/libnss_wins.so
+everything: all libsmbclient debug2html smbfilter talloctort bin/samsync bin/make_printerdef
+
.SUFFIXES:
.SUFFIXES: .c .o .po .po32 .lo
@echo Linking libsmbclient non-shared library $@
-$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS)
-libsmbclient: bin/libsmbclient.a @LIBSMBCLIENT_SHARED@
+libsmbclient: bin/libsmbclient.a bin/libsmbclient.@SHLIBEXT@
bin/smbsh: $(SMBSH_OBJ) bin/.dummy
@echo Linking $@
# Toplevel clean files
TOPFILES=dynconfig.o dynconfig.po
-# NB: According to the GNU standards, "make clean" should not delete
-# things that normally come with the distribution, even if they could
-# possibly be rebuilt. For Samba, that includes the header files.
-clean:
- -rm -f core *.o *.po */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
- $(TOPFILES) $(PROGS) $(SPROGS) .proto.stamp .proto.check
+clean: delheaders
+ -rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
+ $(TOPFILES) $(PROGS) $(SPROGS) .headers.stamp
winbindd_proto:
@cd $(srcdir) && $(SHELL) script/mkproto.sh $(AWK) \
-h _WINBINDD_PROTO_H_ nsswitch/winbindd_proto.h \
$(WINBINDD_OBJ1)
-# We don't kill .proto.stamp, because we don't want to force
-# rebuilding of everything.
delheaders:
- @rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h
- @rm -f $(srcdir)/.proto.check
- @rm -f $(builddir)/.proto.check
- @rm -f include/proto.h include/build_env.h
-
-# Intended new behaviour for proto.h, whenever source is being
-# compiled: -- mbp
-#
-# If proto.h does not exist, it is built.
-#
-# If any source files have changed since proto.h was last checked
-# (.proto.check), then proto.h is checked. If there are no actual
-# changes since last time, its mtime is not changed, but we do
-# remember the time at which it was checked.
-#
-# Whenever we try to build a .o, we need to check the headers are up
-# to date. However, rebuilding the prototypes does not (yet) imply
-# rebuilding all object files. (To change this behaviour, make
-# PROTO_OBJ depend on proto.h)
-#
-# Also to allow people to build on machines without Awk, we never try
-# to use it unless a source file has changed. I guess if we wanted,
-# we could have lack of Awk only cause a warning, not failure.
-
-$(PROTO_OBJ): .proto.stamp
-
-# Whenever a source file changes, we regenerate the prototypes and see if they're
-# different to the existing ones.
-$(srcdir)/include/proto.h: .proto.check
-
-.proto.check:
- @echo Checking $(srcdir)/include/proto.h
- @cd $(srcdir) && $(AWK) -f script/mkproto.awk \
- `echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | egrep -v 'ubiqx/|wrapped'` \
- > $(builddir)/include/proto.h.new && \
- touch $(builddir)/.proto.check && \
- if test -f include/proto.h && cmp -s $(builddir)/include/proto.h.new include/proto.h; \
- then rm -f $(builddir)/include/proto.h.new; \
- echo No changes to include/proto.h; \
- else \
- echo Installing new proto.h; \
- mv $(builddir)/include/proto.h.new include/proto.h; \
- fi
-
-.proto.stamp: .proto.check
- @[ -f .proto.stamp ] || touch .proto.stamp
+ @/bin/rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h
+ @/bin/rm -f include/proto.h include/build_env.h
+
+# we want our generated headers to be rebuilt if they don't exist, but not rebuilt every time
+.headers.stamp:
+ @[ -f $@ ] || touch $@
+
+$(PROTO_OBJ) : .headers.stamp
+
+include/proto.h:
+ @echo rebuilding include/proto.h
+ @cd $(srcdir) && $(AWK) -f script/mkproto.awk `echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | egrep -v 'ubiqx/|wrapped'` > $(builddir)/include/proto.h
include/build_env.h:
@echo rebuilding include/build_env.h
-h _WREPLD_PROTO_H_ $(builddir)/include/wrepld_proto.h \
$(WREPL_OBJ1)
-headers: .proto.check $(srcdir)/include/proto.h include/build_env.h include/wrepld_proto.h
+headers: delheaders include/proto.h include/build_env.h include/wrepld_proto.h .headers.stamp
proto: headers winbindd_proto