# the directory where pid files go
PIDDIR = @piddir@
-FLAGS = -I. -I$(srcdir) @FLAGS1@ @SAMBA_CPPFLAGS@ $(CPPFLAGS) -I$(CTDBDIR)/include $(ISA) -I$(srcdir)/lib -I.. -D_SAMBA_BUILD_=3
+FLAGS = -I. -I$(srcdir) @FLAGS1@ @SAMBA_CPPFLAGS@ $(CPPFLAGS) -I$(CTDBDIR)/include $(ISA) -I$(srcdir)/lib -I.. -D_SAMBA_BUILD_=3 -I../source4
PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
-DPRIVATE_DIR=\"$(PRIVATE_DIR)\" \
../lib/util/xfile.o ../lib/util/util_strlist.o \
../lib/util/util_file.o ../lib/util/data_blob.o \
../lib/util/util.o ../lib/util/fsusage.o \
- ../lib/util/params.o
+ ../lib/util/params.o ../lib/util/talloc_stack.o \
+ ../lib/util/genrand.o ../lib/util/util_net.o
CRYPTO_OBJ = ../lib/crypto/crc32.o ../lib/crypto/md5.o \
../lib/crypto/hmacmd5.o ../lib/crypto/arcfour.o \
LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
lib/messages.o librpc/gen_ndr/ndr_messaging.o lib/messages_local.o \
- lib/messages_ctdbd.o lib/packet.o lib/ctdbd_conn.o lib/talloc_stack.o \
+ lib/messages_ctdbd.o lib/packet.o lib/ctdbd_conn.o \
lib/interfaces.o lib/memcache.o \
lib/util_transfer_file.o lib/async_req.o \
lib/async_sock.o \
$(VERSION_OBJ) lib/charcnv.o lib/debug.o lib/fault.o \
lib/interface.o lib/pidfile.o \
lib/system.o lib/sendfile.o lib/recvfile.o lib/time.o \
- lib/genrand.o lib/username.o \
+ lib/username.o \
lib/util_pw.o lib/access.o lib/smbrun.o \
lib/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
lib/wins_srv.o \
CLDAP_OBJ = libads/cldap.o
LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
- libsmb/clikrb5.o libsmb/clispnego.o libsmb/asn1.o \
+ libsmb/clikrb5.o libsmb/clispnego.o ../lib/util/asn1.o \
libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \
libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.o \
PDBEDIT_OBJ = utils/pdbedit.o $(PASSWD_UTIL_OBJ) $(PARAM_OBJ) $(PASSDB_OBJ) @LIBWBCLIENT_STATIC@ \
$(LIBSAMBA_OBJ) \
$(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
- $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) libsmb/asn1.o \
+ $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) ../lib/util/asn1.o \
$(LDB_OBJ)
SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ1) @LIBWBCLIENT_STATIC@
librpc/gen_ndr/ndr_svcctl.o \
librpc/gen_ndr/tables.o ../librpc/ndr/ndr_table.o \
../librpc/ndr/ndr_krb5pac.o \
- librpc/gen_ndr/ndr_krb5pac.o libsmb/asn1.o
+ librpc/gen_ndr/ndr_krb5pac.o ../lib/util/asn1.o
DEBUG2HTML_OBJ = utils/debug2html.o utils/debugparse.o
NTLM_AUTH_OBJ1 = utils/ntlm_auth.o utils/ntlm_auth_diagnostics.o
NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \
- libsmb/asn1.o libsmb/spnego.o libsmb/clikrb5.o libads/kerberos.o \
+ ../lib/util/asn1.o libsmb/spnego.o libsmb/clikrb5.o libads/kerberos.o \
$(SERVER_MUTEX_OBJ) $(LIBADS_SERVER_OBJ) \
$(PASSDB_OBJ) $(GROUPDB_OBJ) \
$(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
######################################################################
# now the rules...
######################################################################
-all:: SHOWFLAGS libs $(SBIN_PROGS) $(BIN_PROGS) $(ROOT_SBIN_PROGS) \
+all:: SHOWFLAGS basics libs $(SBIN_PROGS) $(BIN_PROGS) $(ROOT_SBIN_PROGS) \
$(MODULES) $(NSS_MODULES) $(PAM_MODULES) @EXTRA_ALL_TARGETS@
+basics::
+
nss_modules:: $(NSS_MODULES)
pam_modules:: $(PAM_MODULES)
gpext_modules:: $(GPEXT_MODULES)
-torture:: SHOWFLAGS $(TORTURE_PROGS)
+torture:: SHOWFLAGS basics $(TORTURE_PROGS)
smbtorture : SHOWFLAGS bin/smbtorture@EXEEXT@
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBTALLOC_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)`
- -if test -e $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBTDB_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)`
- -if test -e $(LIBTDB_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBTDB_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBTDB_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBWBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)`
- -if test -e $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBADDNS_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)`
- -if test -e $(LIBADDNS_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBADDNS_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBADDNS_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBNETAPI_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)`
- -if test -e $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBSMBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)`
- -if test -e $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` ; \
fi
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)`
- -if test -e $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \
+ -if test -r $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \
ln -s -f `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` \
$(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` ; \
fi
etags::
etags `find $(srcdir) -name "*.[ch]"`
etags --append `find $(srcdir)/../lib -name "*.[ch]"`
- etags --append `find $(srcdir)/../source4 -name "*.[ch]"`
+ etags --append `find $(srcdir)/../librpc -name "*.[ch]"`
+ etags --append `find $(srcdir)/../libcli -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/client -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/auth -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/rpc_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/kdc -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/winbind -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/scripting -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/heimdal_build -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/libcli -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/ntp_signd -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/ldap_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/smb_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/include -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/nsswitch -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/cldap_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/utils -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/librpc -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/libnet -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/web_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/heimdal -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/wrepl_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/dynconfig -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/param -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/lib -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/nbt_server -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/build -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/ntvfs -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/torture -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/cluster -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/ntptr -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/smbd -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/script -name "*.[ch]"`
+ etags --append `find $(srcdir)/../source4/dsdb -name "*.[ch]"`
ctags::
ctags `find $(srcdir)/.. -name "*.[ch]"`
# Check shared libs for unresolved symbols
test_shlibs:
@echo "Testing $? "
- @export $(LIB_PATH_VAR)=./bin && \
+ @$(LIB_PATH_VAR)=./bin && \
+ export $(LIB_PATH_VAR) && \
for module in $?; do \
./script/tests/dlopen.sh $${module} \
|| exit 1; \
# Check for NSS module problems.
test_nss_modules:: nss_modules
@echo "Testing $(NSS_MODULES) "
- @export $(LIB_PATH_VAR)=./bin && \
+ @$(LIB_PATH_VAR)=./bin && \
+ export $(LIB_PATH_VAR) && \
for module in $(NSS_MODULES); do \
./script/tests/dlopen.sh $${module} \
|| exit 1; \
# built can actually be loaded by a minimal PAM-aware application.
test_pam_modules:: pam_modules
@echo "Testing $(PAM_MODULES) "
- @export $(LIB_PATH_VAR)=./bin && \
+ @$(LIB_PATH_VAR)=./bin && \
+ export $(LIB_PATH_VAR) && \
for module in $(PAM_MODULES); do \
./script/tests/dlopen.sh -lpam -ldl bin/$${module}.@SHLIBEXT@ \
|| exit 1; \
VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}"
+SELFTEST_FORMAT = plain
+
+selftest:: all torture timelimit
+ @../selftest/selftest.pl --prefix=st --target=samba3 \
+ --testlist="$(srcdir)/selftest/tests.sh|" \
+ --expected-failures=$(srcdir)/selftest/knownfail \
+ --exclude=$(srcdir)/selftest/skip \
+ --socket-wrapper $(TESTS) --format=$(SELFTEST_FORMAT)
+
+selftest-%:
+ $(MAKE) selftest TESTS=$*
+
# Check for Winbind struct 32/64bit padding
test_wbpad:
@echo "Testing winbind request/response structure for 32/64bit padding"