Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
authorAndrew Tridgell <tridge@samba.org>
Tue, 15 Apr 2008 07:54:41 +0000 (09:54 +0200)
committerAndrew Tridgell <tridge@samba.org>
Tue, 15 Apr 2008 07:54:41 +0000 (09:54 +0200)
153 files changed:
source/Makefile
source/auth/auth.c
source/auth/config.mk
source/auth/credentials/config.mk
source/auth/gensec/config.mk
source/auth/gensec/gensec.c
source/auth/kerberos/config.mk
source/auth/ntlmssp/config.mk
source/build/m4/public.m4
source/build/make/lex_compile.sh [moved from source/script/lex_compile.sh with 100% similarity]
source/build/make/python.mk [new file with mode: 0644]
source/build/make/rules.mk [moved from source/rules.mk with 59% similarity]
source/build/make/yacc_compile.sh [moved from source/script/yacc_compile.sh with 100% similarity]
source/build/smb_build/config_mk.pm
source/build/smb_build/header.pm
source/build/smb_build/input.pm
source/build/smb_build/main.pl
source/build/smb_build/makefile.pm
source/build/smb_build/output.pm
source/cldap_server/config.mk
source/cldap_server/netlogon.c
source/client/config.mk
source/cluster/config.mk
source/cluster/ctdb/config.mk
source/dsdb/config.mk
source/dsdb/samdb/ldb_modules/config.mk
source/dynconfig.mk
source/heimdal_build/asn1_deps.pl
source/heimdal_build/config.mk
source/kdc/config.mk
source/ldap_server/config.mk
source/lib/appweb/config.mk
source/lib/basic.mk
source/lib/charset/config.mk
source/lib/cmdline/config.mk
source/lib/crypto/config.mk
source/lib/dbwrap/config.mk
source/lib/events/config.mk
source/lib/events/events.c
source/lib/ldb-samba/config.mk
source/lib/ldb/common/ldb_modules.c
source/lib/ldb/config.mk
source/lib/ldb/include/ldb_private.h
source/lib/ldb/ldb_ildap/config.mk
source/lib/ldb/python.mk
source/lib/ldb/tools/config.mk
source/lib/messaging/config.mk
source/lib/nss_wrapper/config.mk
source/lib/policy/config.mk
source/lib/popt/config.mk
source/lib/registry/config.mk
source/lib/samba3/config.mk
source/lib/socket/config.mk
source/lib/socket_wrapper/config.mk
source/lib/stream/config.mk
source/lib/talloc/config.mk
source/lib/tdb/config.mk
source/lib/tdb/python.mk
source/lib/tdr/config.mk
source/lib/tls/config.mk
source/lib/util/config.mk
source/libcli/auth/config.mk
source/libcli/config.mk
source/libcli/ldap/config.mk
source/libcli/security/config.mk
source/libcli/smb2/config.mk
source/libcli/wbclient/config.mk
source/libnet/config.mk
source/libnet/libnet.c
source/libnet/libnet_vampire.c
source/libnet/py_net.c
source/librpc/config.mk
source/nbt_server/config.mk
source/nsswitch/config.m4
source/nsswitch/config.mk
source/ntptr/config.mk
source/ntptr/ntptr_base.c
source/ntvfs/common/config.mk
source/ntvfs/config.mk
source/ntvfs/ntvfs_base.c
source/ntvfs/posix/config.mk
source/ntvfs/sysdep/config.mk
source/ntvfs/sysdep/sys_lease.c
source/ntvfs/sysdep/sys_notify.c
source/ntvfs/unixuid/config.mk
source/param/config.mk
source/param/provision.c
source/param/share.c
source/pidl/config.mk
source/rpc_server/config.mk
source/rpc_server/service_rpc.c
source/scripting/bin/subunitrun
source/scripting/ejs/config.mk
source/scripting/ejs/ejsnet/config.mk
source/scripting/ejs/smbcalls.c
source/scripting/python/config.mk
source/scripting/python/misc.i
source/scripting/python/misc.py
source/scripting/python/misc_wrap.c
source/scripting/python/samba/getopt.py
source/scripting/python/samba/idmap.py
source/scripting/python/samba/samdb.py
source/scripting/python/samba/tests/__init__.py
source/scripting/python/samba/tests/dcerpc/registry.py
source/scripting/python/samba/tests/dcerpc/rpcecho.py
source/scripting/python/samba/tests/dcerpc/sam.py
source/scripting/python/samba/tests/dcerpc/unix.py
source/scripting/python/samba/tests/provision.py
source/scripting/python/samba/tests/samdb.py
source/selftest/samba4_tests.sh
source/setup/newuser
source/setup/setpassword
source/setup/tests/blackbox_provision.sh
source/smb_server/config.mk
source/smb_server/smb/config.mk
source/smb_server/smb2/config.mk
source/smbd/config.mk
source/smbd/process_model.c
source/smbd/process_model.mk
source/smbd/server.c
source/static_deps.mk
source/torture/config.mk
source/torture/libnet/libnet_domain.c
source/torture/libnet/libnet_group.c
source/torture/libnet/libnet_lookup.c
source/torture/libnet/libnet_rpc.c
source/torture/libnet/libnet_share.c
source/torture/libnet/libnet_user.c
source/torture/local/config.mk
source/torture/rpc/dfs.c
source/torture/rpc/testjoin.c
source/torture/smb2/config.mk
source/torture/smbtorture.c
source/torture/torture.c
source/torture/ui.c
source/torture/ui.h
source/torture/util_smb.c
source/torture/winbind/config.mk
source/utils/config.mk
source/utils/net/config.mk
source/utils/net/net.c
source/utils/net/net.h
source/utils/net/net_join.c
source/utils/net/net_password.c
source/utils/net/net_time.c
source/utils/net/net_user.c
source/utils/net/net_vampire.c
source/web_server/config.mk
source/winbind/config.mk
source/wrepl_server/config.mk
testprogs/blackbox/ndrdump/samr-CreateUser-in.dat [new file with mode: 0644]
testprogs/blackbox/ndrdump/samr-CreateUser-out.dat [new file with mode: 0644]
testprogs/blackbox/test_ndrdump.sh [new file with mode: 0644]

index ab3ef47fed62f767a3c7762dcdb9c936fcf36d07..f2567e6ac4a36704dd371af1ef945a6b3c85840a 100644 (file)
@@ -19,6 +19,9 @@ BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
 HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS)
 HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
 
+$(srcdir)/version.h: $(srcdir)/VERSION
+       @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
+
 .DEFAULT_GOAL := all
 
 ifneq ($(automatic_dependencies),yes)
@@ -26,9 +29,30 @@ ALL_PREDEP = proto
 .NOTPARALLEL:
 endif
 
-include rules.mk
+regen_version::
+       @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
+
+clean_pch::
+       @echo "Removing precompiled headers"
+       @-rm -f include/includes.h.gch
+
+pch:: clean_pch include/includes.h.gch
+
+.DEFAULT_GOAL := all
+
+ifneq ($(automatic_dependencies),yes)
+ALL_PREDEP = proto
+.NOTPARALLEL:
+endif
+
+include build/make/rules.mk
+include build/make/python.mk
 include data.mk
 
+BINARIES += $(BIN_PROGS) $(SBIN_PROGS)
+
+pythonmods:: $(PYTHON_PYS) $(PYTHON_SO)
+
 DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
                   include/includes.d
 
@@ -55,7 +79,7 @@ endif
 DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
                  $(srcdir)/version.h
 
-binaries::
+binaries:: $(BINARIES)
 libraries:: $(STATIC_LIBS) $(SHARED_LIBS)
 modules:: $(PLUGINS)
 headers:: $(PUBLIC_HEADERS) $(DEFAULT_HEADERS)
index af3796a70d1800d4fcd4530ce2e177ba1d9d58c3..6c86cf2d7ce13e227443e347e1af55ca2439dd26 100644 (file)
@@ -516,6 +516,11 @@ const struct auth_critical_sizes *auth_interface_version(void)
 _PUBLIC_ NTSTATUS auth_init(void)
 {
        static bool initialized = false;
+       extern NTSTATUS auth_developer_init(void);
+       extern NTSTATUS auth_winbind_init(void);
+       extern NTSTATUS auth_anonymous_init(void);
+       extern NTSTATUS auth_unix_init(void);
+       extern NTSTATUS auth_sam_init(void);
 
        init_module_fn static_init[] = { STATIC_auth_MODULES };
        
index 63aec098472fb7c62ce34725df802ca32afc6c72..7d4678b7ac4be15a66da0f58196cace76d4a4a4e 100644 (file)
@@ -5,27 +5,31 @@ mkinclude ntlmssp/config.mk
 mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
-OBJ_FILES = session.o
 PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
 # PUBLIC_HEADERS += auth/session.h
 
+auth_session_OBJ_FILES = $(addprefix auth/, session.o)
+
 [SUBSYSTEM::auth_system_session]
-OBJ_FILES = system_session.o
 PRIVATE_PROTO_HEADER = system_session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY 
 
+auth_system_session_OBJ_FILES = $(addprefix auth/, system_session.o)
+
 [SUBSYSTEM::auth_sam]
 PRIVATE_PROTO_HEADER = auth_sam.h
-OBJ_FILES = sam.o ntlm_check.o 
 PUBLIC_DEPENDENCIES = SAMDB UTIL_LDB LIBSECURITY
 PRIVATE_DEPENDENCIES = LDAP_ENCODE
 
+auth_sam_OBJ_FILES = $(addprefix auth/, sam.o ntlm_check.o)
+
 [SUBSYSTEM::auth_sam_reply]
 PRIVATE_PROTO_HEADER = auth_sam_reply.h
-OBJ_FILES = auth_sam_reply.o
+
+auth_sam_reply_OBJ_FILES = $(addprefix auth/, auth_sam_reply.o)
 
 #######################
 # Start MODULE auth_sam
@@ -33,64 +37,65 @@ OBJ_FILES = auth_sam_reply.o
 # gensec_krb5 and gensec_gssapi depend on it
 INIT_FUNCTION = auth_sam_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_sam.o
 PRIVATE_DEPENDENCIES = \
                SAMDB auth_sam
 # End MODULE auth_sam
 #######################
 
+auth_sam_module_OBJ_FILES = $(addprefix auth/, auth_sam.o)
+
 #######################
 # Start MODULE auth_anonymous
 [MODULE::auth_anonymous]
 INIT_FUNCTION = auth_anonymous_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_anonymous.o
 # End MODULE auth_anonymous
 #######################
 
+auth_anonymous_OBJ_FILES = $(addprefix auth/, auth_anonymous.o)
+
 #######################
 # Start MODULE auth_winbind
 [MODULE::auth_winbind]
 INIT_FUNCTION = auth_winbind_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_winbind.o
 PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING LIBWINBIND-CLIENT
 # End MODULE auth_winbind
 #######################
 
+auth_winbind_OBJ_FILES = $(addprefix auth/, auth_winbind.o)
+
 #######################
 # Start MODULE auth_developer
 [MODULE::auth_developer]
 INIT_FUNCTION = auth_developer_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_developer.o
 # End MODULE auth_developer
 #######################
 
+auth_developer_OBJ_FILES = $(addprefix auth/, auth_developer.o)
+
 [MODULE::auth_unix]
 INIT_FUNCTION = auth_unix_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_unix.o
 PRIVATE_DEPENDENCIES = CRYPT PAM PAM_ERRORS NSS_WRAPPER
 
+auth_unix_OBJ_FILES = $(addprefix auth/, auth_unix.o)
+
 [SUBSYSTEM::PAM_ERRORS]
 PRIVATE_PROTO_HEADER = pam_errors.h
-OBJ_FILES = pam_errors.o
 
-#######################
-# Start SUBSYSTEM auth
-[SUBSYSTEM::auth]
 #VERSION = 0.0.1
 #SO_VERSION = 0
+PAM_ERRORS_OBJ_FILES = $(addprefix auth/, pam_errors.o)
+
+[MODULE::auth]
+INIT_FUNCTION = server_service_auth_init
+SUBSYSTEM = service
 PRIVATE_PROTO_HEADER = auth_proto.h
-OBJ_FILES = \
-               auth.o \
-               auth_util.o \
-               auth_simple.o
-PUBLIC_DEPENDENCIES = LIBSECURITY SAMDB CREDENTIALS
-PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
-# End SUBSYSTEM auth
-#######################
+PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSECURITY SAMDB CREDENTIALS 
+
+auth_OBJ_FILES = $(addprefix auth/, auth.o auth_util.o auth_simple.o)
 
 # PUBLIC_HEADERS += auth/auth.h
 
@@ -98,3 +103,5 @@ PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 PUBLIC_DEPENDENCIES = auth_system_session
 PRIVATE_DEPENDENCIES = SAMDB 
 SWIG_FILE = auth.i
+
+swig_auth_OBJ_FILES = auth/auth_wrap.o
index 83f2f0db93a235c644f21d1d15552d2dddde0e58..6f3ec3997c762e5dc62055c79edd2c5456d93839 100644 (file)
@@ -2,18 +2,17 @@
 # Start SUBSYSTEM CREDENTIALS
 [SUBSYSTEM::CREDENTIALS]
 PRIVATE_PROTO_HEADER = credentials_proto.h
-OBJ_FILES = credentials.o \
-               credentials_files.o \
-               credentials_ntlm.o \
-               credentials_krb5.o \
-               ../kerberos/kerberos_util.o
 PUBLIC_DEPENDENCIES = \
                LIBCLI_AUTH SECRETS LIBCRYPTO KERBEROS UTIL_LDB HEIMDAL_GSSAPI 
 PRIVATE_DEPENDENCIES = \
                SECRETS
 
+CREDENTIALS_OBJ_FILES = $(addprefix auth/credentials/, credentials.o credentials_files.o credentials_ntlm.o credentials_krb5.o ../kerberos/kerberos_util.o)
+
 PUBLIC_HEADERS += auth/credentials/credentials.h
 
 [PYTHON::swig_credentials]
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS
 SWIG_FILE = credentials.i
+
+swig_credentials_OBJ_FILES = auth/credentials/credentials_wrap.o
index 14864f7e4c594d7d16c77f4772330fe3158a7fa6..cfb349348477d4b73dce17568d8d9cbfad27daf3 100644 (file)
@@ -1,16 +1,18 @@
 #################################
 # Start SUBSYSTEM gensec
 [LIBRARY::gensec]
-PC_FILE = gensec.pc
-VERSION = 0.0.1
-SO_VERSION = 0
 PRIVATE_PROTO_HEADER = gensec_proto.h
-OBJ_FILES = gensec.o socket.o
 PUBLIC_DEPENDENCIES = \
                CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba-socket LIBPACKET
 # End SUBSYSTEM gensec
 #################################
 
+PC_FILES += auth/gensec/gensec.pc
+
+gensec_VERSION = 0.0.1
+gensec_SOVERSION = 0
+gensec_OBJ_FILES = $(addprefix auth/gensec/, gensec.o socket.o)
+
 PUBLIC_HEADERS += auth/gensec/gensec.h
 
 ################################################
@@ -18,31 +20,34 @@ PUBLIC_HEADERS += auth/gensec/gensec.h
 [MODULE::gensec_krb5]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_krb5_init
-OBJ_FILES = gensec_krb5.o 
 PRIVATE_DEPENDENCIES = CREDENTIALS KERBEROS auth auth_sam
 # End MODULE gensec_krb5
 ################################################
 
+gensec_krb5_OBJ_FILES = $(addprefix auth/gensec/, gensec_krb5.o)
+
 ################################################
 # Start MODULE gensec_gssapi
 [MODULE::gensec_gssapi]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_gssapi_init
-OBJ_FILES = gensec_gssapi.o 
 PRIVATE_DEPENDENCIES = HEIMDAL_GSSAPI CREDENTIALS KERBEROS 
 # End MODULE gensec_gssapi
 ################################################
 
+gensec_gssapi_OBJ_FILES = $(addprefix auth/gensec/, gensec_gssapi.o)
+
 ################################################
 # Start MODULE cyrus_sasl
 [MODULE::cyrus_sasl]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_sasl_init
-OBJ_FILES = cyrus_sasl.o 
 PRIVATE_DEPENDENCIES = CREDENTIALS SASL 
 # End MODULE cyrus_sasl
 ################################################
 
+cyrus_sasl_OBJ_FILES = $(addprefix auth/gensec/, cyrus_sasl.o)
+
 ################################################
 # Start MODULE gensec_spnego
 [MODULE::gensec_spnego]
@@ -50,31 +55,31 @@ SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_spnego_init
 PRIVATE_PROTO_HEADER = spnego_proto.h
 PRIVATE_DEPENDENCIES = ASN1_UTIL CREDENTIALS
-OBJ_FILES = spnego.o spnego_parse.o
 # End MODULE gensec_spnego
 ################################################
 
+gensec_spnego_OBJ_FILES = $(addprefix auth/gensec/, spnego.o spnego_parse.o)
+
 ################################################
 # Start MODULE gensec_schannel
 [MODULE::gensec_schannel]
 SUBSYSTEM = gensec
 PRIVATE_PROTO_HEADER = schannel_proto.h
 INIT_FUNCTION = gensec_schannel_init
-OBJ_FILES = schannel.o \
-                       schannel_sign.o
 PRIVATE_DEPENDENCIES = SCHANNELDB NDR_SCHANNEL CREDENTIALS LIBNDR
 OUTPUT_TYPE = MERGED_OBJ
 # End MODULE gensec_schannel
 ################################################
 
+gensec_schannel_OBJ_FILES = $(addprefix auth/gensec/, schannel.o schannel_sign.o)
+
 ################################################
 # Start SUBSYSTEM SCHANNELDB
 [SUBSYSTEM::SCHANNELDB]
 PRIVATE_PROTO_HEADER = schannel_state.h
-OBJ_FILES = \
-               schannel_state.o
 PRIVATE_DEPENDENCIES = LDB_WRAP SAMDB
-#
 # End SUBSYSTEM SCHANNELDB
 ################################################
 
+SCHANNELDB_OBJ_FILES = $(addprefix auth/gensec/, schannel_state.o)
+
index 59c19b96abdd1de0698110bf21901523b4db4d16..59ad15740eba809adce8eb0f0a3a91ac43819551 100644 (file)
@@ -1268,6 +1268,12 @@ static int sort_gensec(struct gensec_security_ops **gs1, struct gensec_security_
 _PUBLIC_ NTSTATUS gensec_init(struct loadparm_context *lp_ctx)
 {
        static bool initialized = false;
+       extern NTSTATUS gensec_sasl_init(void);
+       extern NTSTATUS gensec_krb5_init(void);
+       extern NTSTATUS gensec_schannel_init(void);
+       extern NTSTATUS gensec_spnego_init(void);
+       extern NTSTATUS gensec_gssapi_init(void);
+       extern NTSTATUS gensec_ntlmssp_init(void);
 
        init_module_fn static_init[] = { STATIC_gensec_MODULES };
        init_module_fn *shared_init;
index 7493a6d06d7520ae18a7b2740aa4f77bf84c23b0..762d6f8c49f2e2d30aeae867f81ca91d4db9115d 100644 (file)
@@ -2,13 +2,16 @@
 # Start SUBSYSTEM KERBEROS
 [SUBSYSTEM::KERBEROS]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = kerberos.o \
-                       clikrb5.o \
-                       kerberos_heimdal.o \
-                       kerberos_pac.o \
-                       gssapi_parse.o \
-                       krb5_init_context.o
 PUBLIC_DEPENDENCIES = HEIMDAL_KRB5 NDR_KRB5PAC samba-socket LIBCLI_RESOLVE
 PRIVATE_DEPENDENCIES = ASN1_UTIL auth_sam_reply LIBPACKET LIBNDR
 # End SUBSYSTEM KERBEROS
 #################################
+
+KERBEROS_OBJ_FILES = $(addprefix auth/kerberos/, \
+       kerberos.o \
+       clikrb5.o \
+       kerberos_heimdal.o \
+       kerberos_pac.o \
+       gssapi_parse.o \
+       krb5_init_context.o)
+
index 9033384b1f73e5d7e3ab121f463790e5d04c50ed..f8e711feda05e0e349e85df294b00bdd777b9a1a 100644 (file)
@@ -1,6 +1,7 @@
 [SUBSYSTEM::MSRPC_PARSE]
 PRIVATE_PROTO_HEADER = msrpc_parse.h
-OBJ_FILES = ntlmssp_parse.o
+
+MSRPC_PARSE_OBJ_FILES = $(addprefix auth/ntlmssp/, ntlmssp_parse.o)
 
 ################################################
 # Start MODULE gensec_ntlmssp
@@ -8,11 +9,9 @@ OBJ_FILES = ntlmssp_parse.o
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_ntlmssp_init
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = ntlmssp.o \
-               ntlmssp_sign.o \
-               ntlmssp_client.o \
-               ntlmssp_server.o
 PRIVATE_DEPENDENCIES = MSRPC_PARSE CREDENTIALS
 OUTPUT_TYPE = MERGED_OBJ
 # End MODULE gensec_ntlmssp
 ################################################
+
+gensec_ntlmssp_OBJ_FILES = $(addprefix auth/ntlmssp/, ntlmssp.o ntlmssp_sign.o ntlmssp_client.o ntlmssp_server.o) 
index eb673446c7af1e1d5024184b8718f3d8e5576f1a..1eae998ca4b01585a3b043e5ef918815c1db0ff4 100644 (file)
@@ -4,8 +4,6 @@ dnl Copyright (C) 2004 Stefan Metzmacher
 dnl Copyright (C) 2004-2005 Jelmer Vernooij
 dnl Published under the GPL
 dnl
-dnl SMB_SUBSYSTEM(name,obj_files,required_subsystems)
-dnl
 dnl SMB_EXT_LIB_FROM_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
 dnl
 dnl SMB_EXT_LIB(name,libs,cflags,cppflags,ldflags)
@@ -22,16 +20,15 @@ dnl SMB_SUBSYSTEM(name,obj_files,required_subsystems,cflags)
 AC_DEFUN([SMB_SUBSYSTEM],
 [
 MAKE_SETTINGS="$MAKE_SETTINGS
-$1_OBJ_FILES = $2
 $1_CFLAGS = $4
 $1_ENABLE = YES
+$1_OBJ_FILES = $2
 "
 
 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
 ###################################
 # Start Subsystem $1
 @<:@SUBSYSTEM::$1@:>@
-OBJ_FILES = \$($1_OBJ_FILES)
 PRIVATE_DEPENDENCIES = $3
 CFLAGS = \$($1_CFLAGS)
 ENABLE = YES
@@ -44,20 +41,17 @@ dnl SMB_LIBRARY(name,obj_files,required_subsystems,version,so_version,cflags,ldf
 AC_DEFUN([SMB_LIBRARY],
 [
 MAKE_SETTINGS="$MAKE_SETTINGS
-$1_OBJ_FILES = $2
 $1_CFLAGS = $6
 $1_LDFLAGS = $7
 $1_ENABLE = YES
+$1_OBJ_FILES = $2
 "
 
 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
 ###################################
 # Start Library $1
 @<:@LIBRARY::$1@:>@
-OBJ_FILES = \$($1_OBJ_FILES)
 PRIVATE_DEPENDENCIES = $3
-VERSION = $4
-SO_VERSION = $5 
 CFLAGS = \$($1_CFLAGS)
 LDFLAGS = \$($1_LDFLAGS)
 ENABLE = YES
diff --git a/source/build/make/python.mk b/source/build/make/python.mk
new file mode 100644 (file)
index 0000000..6c17982
--- /dev/null
@@ -0,0 +1,62 @@
+pythonbuilddir = $(builddir)/bin/python
+
+# Install Python
+# Arguments: Module path
+define python_module_template
+
+installpython:: $$(pythonbuilddir)/$(1) ;
+       cp $$< $$(DESTDIR)$$(PYTHONDIR)/$(1)
+
+uninstallpython:: 
+       rm -f $$(DESTDIR)$$(PYTHONDIR)/$(1) ;
+
+pythonmods:: $$(pythonbuilddir)/$(1) ;
+
+endef
+
+define python_py_module_template
+
+$$(pythonbuilddir)/$(1): $(2) ;
+       mkdir -p $$(@D)
+       cp $$< $$@
+
+$(call python_module_template,$(1))
+
+endef
+
+# Python C module
+# Arguments: Module path, object files
+define python_c_module_template
+
+$$(pythonbuilddir)/$(1): $(2) ; 
+       @echo Linking $$@
+       @mkdir -p $$(@D)
+       @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
+
+$(call python_module_template,$(1))
+endef
+
+# Swig extensions
+swig:: pythonmods
+
+.SUFFIXES: _wrap.c .i
+
+.i_wrap.c:
+       [ "$(SWIG)" == "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
+
+realdistclean::
+       @echo "Removing SWIG output files"
+       # FIXME: Remove _wrap.c files
+
+pythonmods::
+
+clean::
+       @echo "Removing python modules"
+       @rm -rf $(pythonbuilddir)
+
+pydoctor:: pythonmods
+       LD_LIBRARY_PATH=bin/shared PYTHONPATH=$(pythonbuilddir) pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package $(pythonbuilddir)/samba
+
+bin/python/%.py: 
+       mkdir -p $(@D)
+       cp $< $@
similarity index 59%
rename from source/rules.mk
rename to source/build/make/rules.mk
index 5f91f8132e98cab1d9b22f3d22e8b3f8125747d1..faefb4e323ea2604e428802cb04c7ffb7df0ca70 100644 (file)
@@ -1,3 +1,6 @@
+# Rules file for Samba 4
+# This relies on GNU make.
+#
 # Dependencies command
 DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
     $(CFLAGS) $(CPPFLAGS) $< -o $@
@@ -26,22 +29,14 @@ PCHCOMPILE = @$(CC) -Ilib/replace \
 # Partial linking
 PARTLINK = @$(PROG_LD) -r
 
+make_utility_dir = $(srcdir)/build/make/
+
 include/config.h:
        @echo "include/config.h not present"
        @echo "You need to rerun ./autogen.sh and ./configure"
        @/bin/false
 
-$(srcdir)/version.h: $(srcdir)/VERSION
-       @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
-
-regen_version::
-       @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
-
-clean_pch::
-       @echo "Removing precompiled headers"
-       @-rm -f include/includes.h.gch
-
-pch:: clean_pch include/includes.h.gch
+pch::
 
 clean:: clean_pch
        @echo Removing objects
@@ -51,7 +46,7 @@ clean:: clean_pch
        @echo Removing binaries
        @-rm -f $(BIN_PROGS) $(SBIN_PROGS) $(BINARIES) $(TORTURE_PROGS)
        @echo Removing libraries
-       @-rm -f $(STATIC_LIBRARIES) $(SHARED_LIBRARIES)
+       @-rm -f $(STATIC_LIBS) $(SHARED_LIBS)
        @-rm -f bin/static/*.a bin/shared/*.$(SHLIBEXT) bin/mergedobj/*.o
        @echo Removing modules
        @-rm -f bin/modules/*/*.$(SHLIBEXT)
@@ -93,6 +88,103 @@ unused_macros:
        @mkdir -p $(@D)
        @$(STLD) $(STLD_FLAGS) $@ $^
 
+###############################################################################
+# Templates
+###############################################################################
+
+# Partially link
+# Arguments: target object file, source object files
+define partial_link_template 
+$(1): $(2) ;
+       @echo Partially linking $$@
+       @mkdir -p $$(@D)
+       $$(PARTLINK) -o $$@ $$^
+endef
+
+# Link a binary
+# Arguments: target file, depends, flags
+define binary_link_template
+$(1): $(2) ;
+       @echo Linking $$@
+       @$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
+endef
+
+# Link a host-machine binary
+# Arguments: target file, depends, flags
+define host_binary_link_template
+$(1): $(2) ;
+       @echo Linking $$@
+       @$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
+endef
+
+# Create a prototype header
+# Arguments: header file, c files
+define proto_header_template
+$(1): $(2) ;
+       @echo "Creating $$@"
+       @$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --public=/dev/null --private=$$@ $$^
+endef
+
+# Shared module
+# Arguments: Target, dependencies, objects
+define shared_module_template
+
+$(1): $(2) ;
+       @echo Linking $$@
+       @mkdir -p $$(@D)
+       @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
+
+endef
+
+# Shared library
+# Arguments: Target, dependencies, link flags, soname
+define shared_library_template
+$(1): $(2)
+       @echo Linking $$@
+       @mkdir -p $$(@D)
+       @$$(SHLD) $$(LDFLAGS) $$(SHLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) \
+               $(3) \
+               $$(if $$(SONAMEFLAG), $$(SONAMEFLAG)$(notdir $(4)))
+
+ifneq ($(notdir $(1)),$(notdir $(4)))
+$(4): $(1)
+       @echo "Creating symbolic link for $$@"
+       @ln -fs $$(<F) $$@
+endif
+
+ifneq ($(notdir $(1)),$(notdir $(5)))
+$(5): $(1)
+       @echo "Creating symbolic link for $$@"
+       @ln -fs $$(<F) $$@
+endif
+endef
+
+# Shared alias
+# Arguments: Target, subsystem name, alias name
+define shared_module_alias_template
+bin/modules/$(2)/$(3).$$(SHLIBEXT): $(1)
+       @ln -fs $$(<F) $$@
+
+PLUGINS += bin/modules/$(2)/$(3).$$(SHLIBEXT)
+
+uninstallplugins::
+       @-rm $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
+installplugins::
+       @ln -fs $(1) $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
+
+endef
+
+define shared_module_install_template
+installplugins:: bin/modules/$(1)/$(2)
+       @echo Installing$(2) as $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+       @mkdir -p $$(DESTDIR)$$(modulesdir)/$(1)/
+       @cp bin/modules/$(1)/$(2) $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+uninstallplugins::
+       @echo Uninstalling $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+       @-rm $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+
+endef
+
 ###############################################################################
 # File types
 ###############################################################################
@@ -119,11 +211,9 @@ include/includes.d: include/includes.h
        @echo "Compiling $<"
        @-mkdir -p `dirname $@`
        @$(COMPILE) && exit 0 ; \
-               echo "The following command failed:" 1>&2;\
-               $(COMPILE) >/dev/null 2>&1
+       $(COMPILE) 
 
 
-#              echo "$(COMPILE)" 1>&2;\
 
 .c.ho:
        @echo "Compiling $< with host compiler"
@@ -139,11 +229,18 @@ include/includes.d: include/includes.h
 
 .y.c:
        @echo "Building $< with $(YACC)"
-       @-$(srcdir)/script/yacc_compile.sh "$(YACC)" "$<" "$@"
+       @-$(make_utility_dir)/yacc_compile.sh "$(YACC)" "$<" "$@"
 
 .l.c:
        @echo "Building $< with $(LEX)"
-       @-$(srcdir)/script/lex_compile.sh "$(LEX)" "$<" "$@"
+       @-$(make_utility_dir)/script/lex_compile.sh "$(LEX)" "$<" "$@"
+
+%.a:
+       @echo Linking $@
+       @rm -f $@
+       @mkdir -p $(@D)
+       @$(STLD) $(STLD_FLAGS) $@ $^
+
 
 DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
 
index d8ec646910a49472634ae0240019ce8c62d88556..307c391e07b602f861a250d6bafee92d8f45fec6 100644 (file)
@@ -23,14 +23,11 @@ my $section_types = {
                SWIG_FILE => "string",
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
-               "OBJ_FILES" => "list",
                "ENABLE"                => "bool",
                "LDFLAGS"               => "list",
                "CFLAGS"                => "list",
        },
        "SUBSYSTEM" => {
-               "OBJ_FILES"             => "list",
-
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
 
@@ -47,7 +44,6 @@ my $section_types = {
                "SUBSYSTEM"             => "string",
 
                "INIT_FUNCTION"         => "string",
-               "OBJ_FILES"             => "list",
 
                "PRIVATE_DEPENDENCIES"  => "list",
 
@@ -62,7 +58,6 @@ my $section_types = {
                "CFLAGS"                => "list"
                },
        "BINARY" => {
-               "OBJ_FILES"             => "list",
 
                "PRIVATE_DEPENDENCIES"  => "list",
 
@@ -78,18 +73,12 @@ my $section_types = {
                "USE_HOSTCC"            => "bool"
                },
        "LIBRARY" => {
-               "VERSION"               => "string",
-               "SO_VERSION"            => "string",
                "LIBRARY_REALNAME" => "string",
 
-               "PC_FILE" => "string",
-               
                "INIT_FUNCTION_TYPE"    => "string",
                "INIT_FUNCTION_SENTINEL" => "string",
                "OUTPUT_TYPE"           => "list",
 
-               "OBJ_FILES"             => "list",
-
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
 
@@ -223,6 +212,9 @@ sub run_config_mk($$$$)
                {
                        $section = $1;
                        $infragment = 0;
+
+                       $result->{$section}{EXISTS}{KEY} = "EXISTS";
+                       $result->{$section}{EXISTS}{VAL} = 1;
                        next;
                }
 
@@ -233,6 +225,7 @@ sub run_config_mk($$$$)
                        $subdir =~ s/^\.$//g;
                        $subdir =~ s/^\.\///g;
                        $subdir .= "/" if ($subdir ne "");
+                       $makefile .= "basedir := $subdir\n";
                        $makefile .= run_config_mk($input, $srcdir, $builddir, $subdir.$subfile);
                        next;
                }
@@ -280,6 +273,7 @@ sub run_config_mk($$$$)
                $input->{$name}{BASEDIR} = $basedir;
 
                foreach my $key (values %{$result->{$section}}) {
+                       next if ($key->{KEY} eq "EXISTS");
                        $key->{VAL} = smb_build::input::strtrim($key->{VAL});
                        my $vartype = $sectype->{$key->{KEY}};
                        if (not defined($vartype)) {
index c2bdbaf4c89f7761208eb84193dcb81cde08853b..dfb7c62e54cb518ddc1e7667d4d46c7928f4d546 100644 (file)
@@ -42,19 +42,9 @@ sub _prepare_build_h($)
                $DEFINE->{VAL} = "\\\n";
                foreach (@{$key->{INIT_FUNCTIONS}}) {
                        $DEFINE->{VAL} .= "\t$_, \\\n";
-                       unless (/{/) {
-                               my $fn = $key->{INIT_FUNCTION_TYPE};
-                               my $n = $_;
-                               if ($fn =~ /\(\*\)/) {
-                                       $fn =~ s/\(\*\)/$n/;
-                                       $output .= "$fn;\n";
-                               } else {
-                                       $n =~ s/\&//;
-                                       $output .= "$fn $n;\n";
-                               }
-                       }
                }
 
+               die("Invalid sentinel") unless ($key->{INIT_FUNCTION_SENTINEL});
                $DEFINE->{VAL} .= "\t$key->{INIT_FUNCTION_SENTINEL} \n";
 
                push(@defines,$DEFINE);
index 948f2657b4cb7a9bca621d42646ac78b8696c6aa..3ca2f22f0c1991987213f7f628f8aa6d8fa0c6a7 100644 (file)
@@ -84,13 +84,19 @@ sub check_module($$$)
 
        return if ($mod->{ENABLE} ne "YES");
 
+
        if (exists($INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE})) {
                $mod->{INIT_FUNCTION_TYPE} = $INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE};
        } else {
                $mod->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)";
        }
 
+       unless (defined($mod->{INIT_FUNCTION_SENTINEL})) { $mod->{INIT_FUNCTION_SENTINEL} = "NULL"; }
+
        if (not defined($mod->{OUTPUT_TYPE})) {
+               if (not defined($INPUT->{$mod->{SUBSYSTEM}}->{TYPE})) {
+                       die("Invalid type for subsystem $mod->{SUBSYSTEM}");
+               }
                if ($INPUT->{$mod->{SUBSYSTEM}}->{TYPE} eq "EXT_LIB") {
                        $mod->{OUTPUT_TYPE} = undef;
                } else {
@@ -107,7 +113,7 @@ sub check_module($$$)
        } 
        if (grep(/MERGED_OBJ/, @{$mod->{OUTPUT_TYPE}})) {
                push (@{$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS}}, $mod->{INIT_FUNCTION}) if defined($mod->{INIT_FUNCTION});
-               unshift (@{$INPUT->{$mod->{SUBSYSTEM}}{PRIVATE_DEPENDENCIES}}, $mod->{NAME});
+               push (@{$INPUT->{$mod->{SUBSYSTEM}}{PRIVATE_DEPENDENCIES}}, $mod->{NAME});
        }
 }
 
@@ -119,16 +125,6 @@ sub check_library($$$)
 
        unless (defined($lib->{OUTPUT_TYPE})) { $lib->{OUTPUT_TYPE} = $default_ot; }
 
-       if (defined($lib->{VERSION}) and not defined($lib->{SO_VERSION})) {
-               print "$lib->{NAME}: Please specify SO_VERSION when specifying VERSION\n";
-               return;
-       }
-
-       if (defined($lib->{SO_VERSION}) and not defined($lib->{VERSION})) {
-               print "$lib->{NAME}: Please specify VERSION when specifying SO_VERSION\n";
-               return;
-       }
-
        unless (defined($lib->{INIT_FUNCTION_TYPE})) { $lib->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)"; }
        unless (defined($lib->{INIT_FUNCTION_SENTINEL})) { $lib->{INIT_FUNCTION_SENTINEL} = "NULL"; }
        unless (defined($lib->{INSTALLDIR})) { $lib->{INSTALLDIR} = "LIBDIR"; }
@@ -151,7 +147,6 @@ sub check_python($$$)
                $dirname .= "/" unless $dirname =~ /\/$/;
                $dirname = "" if $dirname eq "./";
 
-               $python->{OBJ_FILES} = ["$dirname$basename\_wrap.o"];
                $python->{LIBRARY_REALNAME} = "_$basename.\$(SHLIBEXT)";
                $python->{PYTHON_FILES} = ["$dirname$basename.py"];
                push (@{$python->{CFLAGS}}, "\$(CFLAG_NO_UNUSED_MACROS)");
@@ -189,7 +184,6 @@ sub add_implicit($$)
        $INPUT->{$n} = {
                TYPE => "MAKE_RULE",
                NAME => $n,
-               TARGET => "",
                OUTPUT_TYPE => undef,
                LIBS => ["\$(".uc($n)."_LIBS)"],
                LDFLAGS => ["\$(".uc($n)."_LDFLAGS)"],
@@ -249,7 +243,7 @@ sub check($$$$$)
 
        foreach my $part (values %$INPUT) {
                $part->{LINK_FLAGS} = [];
-               $part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_LIST)"];
+               $part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_FILES)"];
 
                if ($part->{TYPE} eq "SUBSYSTEM") { 
                        check_subsystem($INPUT, $part, $subsys_ot);
index c3dc46461bdb977abf8b01e9f48ba5807209e77c..14897840a62e9591342e671243f7bdda8a4b5fbc 100644 (file)
@@ -44,15 +44,14 @@ my $mkenv = new smb_build::makefile(\%config::config, $mkfile);
 
 my $shared_libs_used = 0;
 foreach my $key (values %$OUTPUT) {
-       $mkenv->_prepare_list($key, "OBJ_LIST");
-       push(@{$mkenv->{all_objs}}, "\$($key->{NAME}_OBJ_LIST)");
+       push(@{$mkenv->{all_objs}}, "\$($key->{NAME}_OBJ_FILES)");
 }
 
 foreach my $key (values %$OUTPUT) {
        next unless defined $key->{OUTPUT_TYPE};
 
        $mkenv->MergedObj($key) if grep(/MERGED_OBJ/, @{$key->{OUTPUT_TYPE}});
-       $mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
+       $mkenv->StaticLibraryPrimitives($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        if (defined($key->{PC_FILE})) {
                $mkenv->output("PC_FILES += $key->{BASEDIR}/$key->{PC_FILE}\n");
        } 
@@ -66,19 +65,26 @@ foreach my $key (values %$OUTPUT) {
                                                                   $key->{TYPE} eq "PYTHON") and
                                        grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        $mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES});
-       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER});
        $mkenv->CFlags($key);
 }
 
 foreach my $key (values %$OUTPUT) {
        next unless defined $key->{OUTPUT_TYPE};
 
+       $mkenv->Integrated($key) if grep(/INTEGRATED/, @{$key->{OUTPUT_TYPE}});
+}
+
+foreach my $key (values %$OUTPUT) {
+       next unless defined $key->{OUTPUT_TYPE};
+       $mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
+
        $mkenv->SharedLibrary($key) if ($key->{TYPE} eq "LIBRARY") and
                                        grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        $mkenv->SharedModule($key) if ($key->{TYPE} eq "MODULE" or 
                                                                   $key->{TYPE} eq "PYTHON") and
                                        grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        $mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}});
+       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER});
 }
 
 $mkenv->write("data.mk");
index 2470fa145924337f11f154f0f02f91c65cbec270..8f3f1701b7c400f4ebf476846b60399042f091f0 100644 (file)
@@ -23,12 +23,11 @@ sub new($$$)
 
        $self->{output} = "";
 
-       $self->{mkfile} = $mkfile;
-
        $self->output("################################################\n");
        $self->output("# Autogenerated by build/smb_build/makefile.pm #\n");
        $self->output("################################################\n");
        $self->output("\n");
+       $self->output($mkfile);
 
        return $self;
 }
@@ -203,12 +202,17 @@ __EOD__
        $self->output("\n");
 }
 
-sub SharedLibraryPrimitives($$)
+sub StaticLibraryPrimitives($$)
 {
        my ($self,$ctx) = @_;
+       $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
+       $self->_prepare_list($ctx, "FULL_OBJ_LIST");
+}
 
-       $self->output("$ctx->{NAME}_SOVERSION = $ctx->{SO_VERSION}\n") if (defined($ctx->{SO_VERSION}));
-       $self->output("$ctx->{NAME}_VERSION = $ctx->{VERSION}\n") if (defined($ctx->{VERSION}));
+sub SharedLibraryPrimitives($$)
+{
+       my ($self,$ctx) = @_;
 
        if (not grep(/STATIC_LIBRARY/, @{$ctx->{OUTPUT_TYPE}})) {
                $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
@@ -224,7 +228,7 @@ sub SharedLibrary($$)
                $ctx->{LIBRARY_SONAME} = "";
        }
 
-       $self->output("SHARED_LIBS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n") if (defined($ctx->{SO_VERSION}));
+       $self->output("SHARED_LIBS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
 
        $self->_prepare_list($ctx, "DEPEND_LIST");
        $self->_prepare_list($ctx, "LINK_FLAGS");
@@ -240,7 +244,9 @@ $ctx->{RESULT_SHARED_LIBRARY}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL
 __EOD__
 );
        if ($ctx->{LIBRARY_REALNAME} ne $ctx->{LIBRARY_SONAME}) {
-               $self->output("\t\@test \$($ctx->{NAME}_VERSION) = \$($ctx->{NAME}_SOVERSION) || ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}\n");
+               $self->output("ifneq (\$($ctx->{NAME}_VERSION),\$($ctx->{NAME}_SOVERSION))\n");
+               $self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}\n");
+               $self->output("endif\n");
        }
        $self->output("ifdef $ctx->{NAME}_SOVERSION\n");
        $self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}\n");
@@ -256,10 +262,10 @@ sub MergedObj($$)
        $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
        $self->output(<< "__EOD__"
 #
-$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_LIST)
+$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_FILES)
        \@echo Partially linking \$@
        \@mkdir -p \$(\@D)
-       \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_LIST)
+       \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_FILES)
 
 __EOD__
 );
@@ -269,13 +275,8 @@ sub StaticLibrary($$)
 {
        my ($self,$ctx) = @_;
 
-       return unless (defined($ctx->{OBJ_FILES}));
-
        $self->output("STATIC_LIBS += $ctx->{TARGET_STATIC_LIBRARY}\n") if ($ctx->{TYPE} eq "LIBRARY");
 
-       $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
-       $self->_prepare_list($ctx, "FULL_OBJ_LIST");
-
        $self->output("$ctx->{RESULT_STATIC_LIBRARY}: \$($ctx->{NAME}_FULL_OBJ_LIST)\n");
 }
 
@@ -324,7 +325,7 @@ sub PythonFiles($$)
 
        foreach (@{$ctx->{PYTHON_FILES}}) {
                my $target = "bin/python/".basename($_);
-               my $source = output::add_dir_str($ctx->{BASEDIR}, $_);
+               my $source = "\$(addprefix $ctx->{BASEDIR}/, $_)";
                $self->output("$target: $source\n\n");
                $self->output("PYTHON_PYS += $target\n");
        }
@@ -334,13 +335,13 @@ sub ProtoHeader($$)
 {
        my ($self,$ctx) = @_;
 
-       my $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
+       my $priv = "$ctx->{BASEDIR}/$ctx->{PRIVATE_PROTO_HEADER}";
        $self->output("PROTO_HEADERS += $priv\n");
 
-       $self->output("$priv: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
+       $self->output("$priv: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_FILES:.o=.c) \$(srcdir)/script/mkproto.pl\n");
        $self->output("\t\@echo \"Creating \$@\"\n");
        $self->output("\t\@mkdir -p \$(\@D)\n");
-       $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --public=/dev/null --private=\$@ \$($ctx->{NAME}_OBJ_LIST)\n\n");
+       $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --public=/dev/null --private=\$@ \$($ctx->{NAME}_OBJ_FILES)\n\n");
 }
 
 sub write($$)
@@ -378,7 +379,6 @@ sub CFlags($$)
 
        my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
 
-       return unless defined ($key->{OBJ_LIST});
        return unless defined ($key->{FINAL_CFLAGS});
        return unless (@{$key->{FINAL_CFLAGS}} > 0);
 
@@ -392,19 +392,19 @@ sub CFlags($$)
        my @cflags = ();
        foreach my $flag (@sorted_cflags) {
                if($src_ne_build) {
-                               if($flag =~ m#^-I([^/].*$)#) {
-                                       my $dir = $1;
-                                       $dir =~ s#^\$\((?:src|build)dir\)/?##;
+                       if($flag =~ m#^-I([^/].*$)#) {
+                               my $dir = $1;
+                               $dir =~ s#^\$\((?:src|build)dir\)/?##;
                                push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
-                                       next;
-                               }
+                               next;
+                       }
                }
                push(@cflags, $flag);
        }
        
        my $cflags = join(' ', @cflags);
 
-       $self->output("\$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_LIST:.o=.d)) \$($key->{NAME}_OBJ_LIST): CFLAGS+= $cflags\n");
+       $self->output("\$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_FILES:.o=.d)) \$($key->{NAME}_OBJ_FILES): CFLAGS+= $cflags\n");
 }
 
 1;
index 4ae4a62cf4991ff50c5dc9a83331f18abaa5b510..aeff7d48ce3e20cd1c0a5a73cb88d82b917c2129 100644 (file)
@@ -7,39 +7,6 @@
 
 package output;
 use strict;
-use smb_build::config;
-
-sub add_dir_str($$)
-{
-       my ($dir,$file) = @_;
-       my $dirsep = "/";
-
-       $dir =~ s/^\.$//g;
-       $dir =~ s/^\.\///g;
-
-       $dirsep = "" if ($dir eq "");
-
-       my $ret = $file;
-       if (substr($ret, 0, 1) ne "\$") {
-               $ret = "$dir$dirsep$file";
-               $ret =~ s/([^\/\.]+)\/\.\.\///g;
-               $ret =~ s/([^\/\.]+)\/\.\.\///g;
-       }
-
-       return $ret;
-}
-
-sub add_dir_array($$)
-{
-       my ($dir,$files) = @_;
-       my @ret = ();
-
-       foreach (@{$files}) {
-               push (@ret, add_dir_str($dir, $_));
-       }
-
-       return @ret;
-}
 
 sub generate_shared_library($)
 {
@@ -80,10 +47,8 @@ sub generate_shared_library($)
 
        $lib->{LIBRARY_DEBUGNAME} = $lib->{LIBRARY_REALNAME};
 
-       if (defined($lib->{VERSION}) and $config::config{SONAMEFLAG} ne "#") {
-               $lib->{LIBRARY_SONAME} = "$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_SOVERSION)";
-               $lib->{LIBRARY_REALNAME} = "$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_VERSION)";
-       } 
+       $lib->{LIBRARY_SONAME} = "\$(if \$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME})";
+       $lib->{LIBRARY_REALNAME} = "\$(if \$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME})";
        
        $lib->{RESULT_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_REALNAME}";
        $lib->{OUTPUT_SHARED_LIBRARY} = "-l$link_name";
@@ -97,11 +62,9 @@ sub generate_merged_obj($)
        my $link_name = $lib->{NAME};
        $link_name =~ s/^LIB//;
 
-       if (defined($lib->{OBJ_FILES})) {
-               $lib->{MERGED_OBJNAME} = lc($link_name).".o";
-               $lib->{RESULT_MERGED_OBJ} = $lib->{OUTPUT_MERGED_OBJ} = "bin/mergedobj/$lib->{MERGED_OBJNAME}";
-               $lib->{TARGET_MERGED_OBJ} = $lib->{RESULT_MERGED_OBJ};
-       }
+       $lib->{MERGED_OBJNAME} = lc($link_name).".o";
+       $lib->{RESULT_MERGED_OBJ} = $lib->{OUTPUT_MERGED_OBJ} = "bin/mergedobj/$lib->{MERGED_OBJNAME}";
+       $lib->{TARGET_MERGED_OBJ} = $lib->{RESULT_MERGED_OBJ};
 }
 
 sub generate_static_library($)
@@ -116,12 +79,10 @@ sub generate_static_library($)
 
        $lib->{LIBRARY_NAME} = "lib".lc($link_name).".a";
 
-       if (defined($lib->{OBJ_FILES})) {
-               $lib->{RESULT_STATIC_LIBRARY} = "bin/static/$lib->{LIBRARY_NAME}";
-               $lib->{TARGET_STATIC_LIBRARY} = $lib->{RESULT_STATIC_LIBRARY};
-               $lib->{STATICDIR} = 'bin/static';
-               $lib->{OUTPUT_STATIC_LIBRARY} = "-l".lc($link_name);
-       }
+       $lib->{RESULT_STATIC_LIBRARY} = "bin/static/$lib->{LIBRARY_NAME}";
+       $lib->{TARGET_STATIC_LIBRARY} = $lib->{RESULT_STATIC_LIBRARY};
+       $lib->{STATICDIR} = 'bin/static';
+       $lib->{OUTPUT_STATIC_LIBRARY} = "-l".lc($link_name);
 }
 
 sub generate_binary($)
@@ -160,10 +121,6 @@ sub create_output($$)
        foreach $part (values %{$depend}) {
                next unless(defined($part->{OUTPUT_TYPE}));
 
-               # Combine object lists
-               my @list = add_dir_array($part->{BASEDIR}, $part->{OBJ_FILES});
-               push(@{$part->{OBJ_LIST}}, @list) if defined($part->{OBJ_FILES});
-
                generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}});
                generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
                generate_static_library($part) if grep(/STATIC_LIBRARY/, @{$part->{OUTPUT_TYPE}});
index 9dd3758e7a14df0584f706695a497918e50ed23f..c10cf57b5b2aaaf737aefd533b694b1efc85c62e 100644 (file)
@@ -6,11 +6,13 @@
 INIT_FUNCTION = server_service_cldapd_init
 SUBSYSTEM = service
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = \
-               cldap_server.o \
-               netlogon.o \
-               rootdse.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_CLDAP LIBNETIF process_model
 # End SUBSYSTEM CLDAPD
 #######################
+
+CLDAPD_OBJ_FILES = $(addprefix cldap_server/, \
+               cldap_server.o \
+               netlogon.o \
+               rootdse.o)
+
index 32a71e43afb3433bae332a2b4dd4c1f507a7672f..a524a6f8bdb3c1551ee28b44724dbaa85f0aa804 100644 (file)
@@ -20,7 +20,6 @@
 */
 
 #include "includes.h"
-#include "libcli/ldap/ldap_ndr.h"
 #include "lib/ldb/include/ldb.h"
 #include "lib/ldb/include/ldb_errors.h"
 #include "lib/events/events.h"
@@ -28,6 +27,7 @@
 #include "smbd/service_task.h"
 #include "cldap_server/cldap_server.h"
 #include "librpc/gen_ndr/ndr_misc.h"
+#include "libcli/ldap/ldap_ndr.h"
 #include "dsdb/samdb/samdb.h"
 #include "auth/auth.h"
 #include "ldb_wrap.h"
index 2085faf61e7e3b128989db44cb2bd2a31975fac8..5cfa542fbab3a3fde5da644256cece54606d09d6 100644 (file)
@@ -4,8 +4,6 @@
 # Start BINARY smbclient
 [BINARY::smbclient]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               client.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                SMBREADLINE \
@@ -20,13 +18,12 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY smbclient
 #################################
 
+smbclient_OBJ_FILES = client/client.o
+
 #################################
 # Start BINARY cifsdd
 [BINARY::cifsdd]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               cifsdd.o \
-               cifsddio.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                LIBCLI_SMB \
@@ -36,3 +33,4 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY sdd
 #################################
 
+cifsdd_OBJ_FILES = client/cifsdd.o client/cifsddio.o
index 8b225202fba5cdd4bfb3371d71edb6f7a4c8b6f8..00ac597f947926b41d4887f84f02d5b731c7a6e7 100644 (file)
@@ -1,7 +1,6 @@
 mkinclude ctdb/config.mk
 
-####################
 [SUBSYSTEM::CLUSTER]
-OBJ_FILES = cluster.o \
-               local.o
 PRIVATE_DEPENDENCIES = ctdb
+
+CLUSTER_OBJ_FILES = cluster/cluster.o cluster/local.o
index b8199cafe4737e92a0ce17da4a68116367fc8786..01c639d142a658ff6fd0d443eb9ccfad478157da 100644 (file)
@@ -1,20 +1,24 @@
 ##################
 [SUBSYSTEM::brlock_ctdb]
-OBJ_FILES = brlock_ctdb.o
 PUBLIC_DEPENDENCIES = ctdb
 
+brlock_ctdb_OBJ_FILES = cluster/ctdb/brlock_ctdb.o
+
 ##################
 [SUBSYSTEM::opendb_ctdb]
-OBJ_FILES = opendb_ctdb.o
 PUBLIC_DEPENDENCIES = ctdb
 
+opendb_ctdb_OBJ_FILES = cluster/ctdb/opendb_ctdb.o
+
 ##################
 [SUBSYSTEM::ctdb]
-OBJ_FILES = \
+PUBLIC_DEPENDENCIES = TDB_WRAP LIBTALLOC
+
+ctdb_OBJ_FILES = $(addprefix cluster/ctdb/, \
                ctdb_cluster.o \
                client/ctdb_client.o \
                common/ctdb_io.o \
                common/ctdb_ltdb.o \
                common/ctdb_message.o \
-               common/ctdb_util.o
-PUBLIC_DEPENDENCIES = TDB_WRAP LIBTALLOC
+               common/ctdb_util.o)
+
index 1a20add91c4ad4869bc12fe7a0a25efecd05c6b4..e334e4c6e34cdfec220c7d7964cdc310a121b6c6 100644 (file)
@@ -10,31 +10,33 @@ PUBLIC_DEPENDENCIES = HEIMDAL_KRB5
 PRIVATE_DEPENDENCIES = LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER \
                                           auth_system_session LDAP_ENCODE LIBCLI_AUTH LIBNDR \
                                           SAMDB_SCHEMA LDB_WRAP SAMDB_COMMON
-OBJ_FILES = \
+
+
+SAMDB_OBJ_FILES = $(addprefix dsdb/, \
                samdb/samdb.o \
                samdb/samdb_privilege.o \
                samdb/cracknames.o \
-               repl/replicated_objects.o
-
+               repl/replicated_objects.o)
 
 # PUBLIC_HEADERS += dsdb/samdb/samdb.h
 
 [SUBSYSTEM::SAMDB_COMMON]
 PRIVATE_PROTO_HEADER = common/proto.h
 PRIVATE_DEPENDENCIES = LIBLDB
-OBJ_FILES = \
-               common/sidmap.o \
-               common/flag_mapping.o \
-               common/util.o
+
+SAMDB_COMMON_OBJ_FILES = $(addprefix dsdb/common/, \
+               sidmap.o \
+               flag_mapping.o \
+               util.o)
 
 [SUBSYSTEM::SAMDB_SCHEMA]
 PRIVATE_PROTO_HEADER = schema/proto.h
 PRIVATE_DEPENDENCIES = SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS
-OBJ_FILES = \
-               schema/schema_init.o \
-               schema/schema_syntax.o \
-               schema/schema_constructed.o \
 
+SAMDB_SCHEMA_OBJ_FILES = $(addprefix dsdb/schema/, \
+               schema_init.o \
+               schema_syntax.o \
+               schema_constructed.o)
 
 # PUBLIC_HEADERS += dsdb/schema/schema.h
 
@@ -43,15 +45,17 @@ OBJ_FILES = \
 [MODULE::DREPL_SRV]
 INIT_FUNCTION = server_service_drepl_init
 SUBSYSTEM = service
-OBJ_FILES = \
-               repl/drepl_service.o \
-               repl/drepl_periodic.o \
-               repl/drepl_partitions.o \
-               repl/drepl_out_pull.o \
-               repl/drepl_out_helpers.o
 PRIVATE_PROTO_HEADER = repl/drepl_service_proto.h
 PRIVATE_DEPENDENCIES = \
                SAMDB \
                process_model 
 # End SUBSYSTEM DREPL_SRV
 #######################
+
+DREPL_SRV_OBJ_FILES = $(addprefix dsdb/repl/, \
+               drepl_service.o \
+               drepl_periodic.o \
+               drepl_partitions.o \
+               drepl_out_pull.o \
+               drepl_out_helpers.o)
+
index de93b5638df22801b951edb15967c7510a6895b5..414b449ba8cbd29de6a0a8630bb132ae6684fa66 100644 (file)
@@ -5,11 +5,11 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC
 INIT_FUNCTION = objectguid_module_module_ops
-OBJ_FILES = \
-               objectguid.o
 # End MODULE ldb_objectguid
 ################################################
 
+ldb_objectguid_OBJ_FILES = dsdb/samdb/ldb_modules/objectguid.o
+
 ################################################
 # Start MODULE ldb_repl_meta_data
 [MODULE::ldb_repl_meta_data]
@@ -18,11 +18,12 @@ OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI \
                                           NDR_DRSBLOBS LIBNDR
 INIT_FUNCTION = repl_meta_data_module_module_ops
-OBJ_FILES = \
-               repl_meta_data.o
 # End MODULE ldb_repl_meta_data
 ################################################
 
+ldb_repl_meta_data_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/repl_meta_data.o
+
 ################################################
 # Start MODULE ldb_dsdb_cache
 [MODULE::ldb_dsdb_cache]
@@ -30,11 +31,12 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
 INIT_FUNCTION = dsdb_cache_module_module_ops
-OBJ_FILES = \
-               dsdb_cache.o
 # End MODULE ldb_dsdb_cache
 ################################################
 
+ldb_dsdb_cache_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/dsdb_cache.o
+
 ################################################
 # Start MODULE ldb_schema_fsmo
 [MODULE::ldb_schema_fsmo]
@@ -42,11 +44,12 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
 INIT_FUNCTION = schema_fsmo_module_module_ops
-OBJ_FILES = \
-               schema_fsmo.o
 # End MODULE ldb_schema_fsmo
 ################################################
 
+ldb_schema_fsmo_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/schema_fsmo.o
+
 ################################################
 # Start MODULE ldb_naming_fsmo
 [MODULE::ldb_naming_fsmo]
@@ -54,11 +57,12 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
 INIT_FUNCTION = naming_fsmo_module_module_ops
-OBJ_FILES = \
-               naming_fsmo.o
 # End MODULE ldb_naming_fsmo
 ################################################
 
+ldb_naming_fsmo_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/naming_fsmo.o
+
 ################################################
 # Start MODULE ldb_pdc_fsmo
 [MODULE::ldb_pdc_fsmo]
@@ -66,11 +70,12 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
 INIT_FUNCTION = pdc_fsmo_module_module_ops
-OBJ_FILES = \
-               pdc_fsmo.o
 # End MODULE ldb_pdc_fsmo
 ################################################
 
+ldb_pdc_fsmo_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/pdc_fsmo.o
+
 ################################################
 # Start MODULE ldb_samldb
 [MODULE::ldb_samldb]
@@ -78,12 +83,13 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LDAP_ENCODE NDR_MISC SAMDB
 INIT_FUNCTION = samldb_module_module_ops
-OBJ_FILES = \
-               samldb.o
 #
 # End MODULE ldb_samldb
 ################################################
 
+ldb_samldb_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/samldb.o
+
 ################################################
 # Start MODULE ldb_samba3sam
 [MODULE::ldb_samba3sam]
@@ -92,12 +98,13 @@ OUTPUT_TYPE = SHARED_LIBRARY
 INIT_FUNCTION = &ldb_samba3sam_module_module_ops
 PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER LIBSECURITY \
                                           NDR_SECURITY
-OBJ_FILES = \
-               samba3sam.o
 #
 # End MODULE ldb_samldb
 ################################################
 
+ldb_samba3sam_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/samba3sam.o
+
 ################################################
 # Start MODULE ldb_simple_ldap_map
 [MODULE::ldb_simple_ldap_map]
@@ -107,12 +114,13 @@ INIT_FUNCTION = &ldb_simple_ldap_map_module_module_ops
 PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map LIBNDR NDR_MISC
 ENABLE = YES
 ALIASES = entryuuid nsuniqueid
-OBJ_FILES = \
-               simple_ldap_map.o
 #
 # End MODULE ldb_entryuuid
 ################################################
 
+ldb_simple_ldap_map_OBJ_FILES = \
+               dsdb/samdb/ldb_modules/simple_ldap_map.o
+
 # ################################################
 # # Start MODULE ldb_proxy
 # [MODULE::ldb_proxy]
@@ -132,25 +140,24 @@ SUBSYSTEM = LIBLDB
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
 INIT_FUNCTION = rootdse_module_module_ops
-OBJ_FILES = \
-               rootdse.o
-#
 # End MODULE ldb_rootdse
 ################################################
 
+ldb_rootdse_OBJ_FILES = dsdb/samdb/ldb_modules/rootdse.o
+
 ################################################
 # Start MODULE ldb_password_hash
 [MODULE::ldb_password_hash]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 INIT_FUNCTION = password_hash_module_module_ops
-OBJ_FILES = password_hash.o
 PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \
                                           LIBCLI_AUTH NDR_DRSBLOBS KERBEROS SAMDB
-#
 # End MODULE ldb_password_hash
 ################################################
 
+ldb_password_hash_OBJ_FILES = dsdb/samdb/ldb_modules/password_hash.o
+
 ################################################
 # Start MODULE ldb_local_password
 [MODULE::ldb_local_password]
@@ -158,11 +165,11 @@ PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
 SUBSYSTEM = LIBLDB
 INIT_FUNCTION = local_password_module_module_ops
-OBJ_FILES = local_password.o
-#
 # End MODULE ldb_local_password
 ################################################
 
+ldb_local_password_OBJ_FILES = dsdb/samdb/ldb_modules/local_password.o
+
 ################################################
 # Start MODULE ldb_kludge_acl
 [MODULE::ldb_kludge_acl]
@@ -170,12 +177,12 @@ PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
 SUBSYSTEM = LIBLDB
 INIT_FUNCTION = &ldb_kludge_acl_module_ops
-OBJ_FILES = \
-               kludge_acl.o
-#
+
 # End MODULE ldb_kludge_acl
 ################################################
 
+ldb_kludge_acl_OBJ_FILES = dsdb/samdb/ldb_modules/kludge_acl.o
+
 ################################################
 # Start MODULE ldb_extended_dn
 [MODULE::ldb_extended_dn]
@@ -183,12 +190,11 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR LIBSECURITY SAMDB
 INIT_FUNCTION = &ldb_extended_dn_module_ops
-OBJ_FILES = \
-               extended_dn.o
-#
 # End MODULE ldb_extended_dn
 ################################################
 
+ldb_extended_dn_OBJ_FILES = dsdb/samdb/ldb_modules/extended_dn.o
+
 ################################################
 # Start MODULE ldb_show_deleted
 [MODULE::ldb_show_deleted]
@@ -196,12 +202,11 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC
 INIT_FUNCTION = &ldb_show_deleted_module_ops
-OBJ_FILES = \
-               show_deleted.o
-#
 # End MODULE ldb_show_deleted
 ################################################
 
+ldb_show_deleted_OBJ_FILES = dsdb/samdb/ldb_modules/show_deleted.o
+
 ################################################
 # Start MODULE ldb_partition
 [MODULE::ldb_partition]
@@ -209,12 +214,11 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
 INIT_FUNCTION = &ldb_partition_module_ops
-OBJ_FILES = \
-               partition.o
-#
 # End MODULE ldb_partition
 ################################################
 
+ldb_partition_OBJ_FILES = dsdb/samdb/ldb_modules/partition.o
+
 ################################################
 # Start MODULE ldb_schema
 [MODULE::ldb_schema]
@@ -222,12 +226,11 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBLDB
 INIT_FUNCTION = &ldb_schema_module_ops
-OBJ_FILES = \
-               schema.o schema_syntax.o
-#
 # End MODULE ldb_schema
 ################################################
 
+ldb_schema_OBJ_FILES = $(addprefix dsdb/samdb/ldb_modules/, schema.o schema_syntax.o)
+
 ################################################
 # Start MODULE ldb_update_kt
 [MODULE::ldb_update_keytab]
@@ -236,12 +239,11 @@ OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS
 #Also depends on credentials, but that would loop
 INIT_FUNCTION = &ldb_update_kt_module_ops
-OBJ_FILES = \
-               update_keytab.o 
-#
 # End MODULE ldb_update_kt
 ################################################
 
+ldb_update_keytab_OBJ_FILES = dsdb/samdb/ldb_modules/update_keytab.o 
+
 ################################################
 # Start MODULE ldb_objectclass
 [MODULE::ldb_objectclass]
@@ -250,11 +252,11 @@ OUTPUT_TYPE = SHARED_LIBRARY
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY NDR_SECURITY SAMDB
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               objectclass.o
 # End MODULE ldb_objectclass
 ################################################
 
+ldb_objectclass_OBJ_FILES = dsdb/samdb/ldb_modules/objectclass.o
+
 ################################################
 # Start MODULE ldb_subtree_rename
 [MODULE::ldb_subtree_rename]
@@ -262,11 +264,11 @@ INIT_FUNCTION = &ldb_subtree_rename_module_ops
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               subtree_rename.o
 # End MODULE ldb_subtree_rename
 ################################################
 
+ldb_subtree_rename_OBJ_FILES = dsdb/samdb/ldb_modules/subtree_rename.o
+
 ################################################
 # Start MODULE ldb_subtree_rename
 [MODULE::ldb_subtree_delete]
@@ -274,11 +276,11 @@ INIT_FUNCTION = &ldb_subtree_delete_module_ops
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               subtree_delete.o
 # End MODULE ldb_subtree_rename
 ################################################
 
+ldb_subtree_delete_OBJ_FILES = dsdb/samdb/ldb_modules/subtree_delete.o
+
 ################################################
 # Start MODULE ldb_linked_attributes
 [MODULE::ldb_linked_attributes]
@@ -287,11 +289,11 @@ CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               linked_attributes.o
 # End MODULE ldb_linked_attributes
 ################################################
 
+ldb_linked_attributes_OBJ_FILES = dsdb/samdb/ldb_modules/linked_attributes.o
+
 ################################################
 # Start MODULE ldb_ranged_results
 [MODULE::ldb_ranged_results]
@@ -299,11 +301,11 @@ INIT_FUNCTION = &ldb_ranged_results_module_ops
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               ranged_results.o
 # End MODULE ldb_ranged_results
 ################################################
 
+ldb_ranged_results_OBJ_FILES = dsdb/samdb/ldb_modules/ranged_results.o
+
 ################################################
 # Start MODULE ldb_anr
 [MODULE::ldb_anr]
@@ -312,11 +314,11 @@ CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               anr.o
 # End MODULE ldb_anr
 ################################################
 
+ldb_anr_OBJ_FILES = dsdb/samdb/ldb_modules/anr.o
+
 ################################################
 # Start MODULE ldb_normalise
 [MODULE::ldb_normalise]
@@ -325,11 +327,11 @@ CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               normalise.o
 # End MODULE ldb_normalise
 ################################################
 
+ldb_normalise_OBJ_FILES = dsdb/samdb/ldb_modules/normalise.o
+
 ################################################
 # Start MODULE ldb_instancetype
 [MODULE::ldb_instancetype]
@@ -338,8 +340,8 @@ CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               instancetype.o
 # End MODULE ldb_instancetype
 ################################################
 
+ldb_instancetype_OBJ_FILES = dsdb/samdb/ldb_modules/instancetype.o
+
index aa0565cd7a21e7a45ae501f8ae491201c16b6a11..487d924036ce6d2468bd3de5f542a492e62fd4b5 100644 (file)
@@ -1,5 +1,6 @@
 [SUBSYSTEM::DYNCONFIG]
-OBJ_FILES = dynconfig.o
+
+DYNCONFIG_OBJ_FILES = dynconfig.o
 
 # set these to where to find various files
 # These can be overridden by command line switches (see smbd(8))
@@ -21,5 +22,4 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
 
 dynconfig.o: dynconfig.c Makefile
        @echo Compiling $<
-       @$(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) \
-               $(PATH_FLAGS) -c $< -o $@
+       @$(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
index b80e00d4446152d5524b7210b289a410e1614d20..a2fbb5e3d0f3d62b5dbf6a7e3000c722ef6a54f6 100755 (executable)
@@ -87,11 +87,14 @@ my $depstr = join(' ', @deps);
 
 print '[SUBSYSTEM::HEIMDAL_'.uc($prefix).']'."\n";
 print "CFLAGS = -Iheimdal_build -Iheimdal/lib/roken -I$dirname\n";
-print "OBJ_FILES = ";
+print "PUBLIC_DEPENDENCIES = $depstr\n\n";
+
+print "HEIMDAL_".uc($prefix)."_OBJ_FILES = ";
 foreach $o_file (@o_files) {
     print "\\\n\t$o_file";
 }
-print "\nPUBLIC_DEPENDENCIES = $depstr\n\n";
+
+print "\n\n";
 
 print "clean:: \n";
 print "\t\@echo \"Deleting ASN1 output files generated from $file\"\n";
index 24d50acb056f0aa05f252c56c46699aa99603710..33d2edb67bdb7e30c135249d27d720606f53420a 100644 (file)
 # Start SUBSYSTEM HEIMDAL_KDC
 [SUBSYSTEM::HEIMDAL_KDC]
 CFLAGS = -Iheimdal_build -Iheimdal/kdc
-OBJ_FILES = \
-       ../heimdal/kdc/default_config.o \
-       ../heimdal/kdc/kerberos5.o \
-       ../heimdal/kdc/krb5tgs.o \
-       ../heimdal/kdc/pkinit.o \
-       ../heimdal/kdc/log.o \
-       ../heimdal/kdc/misc.o \
-       ../heimdal/kdc/524.o \
-       ../heimdal/kdc/kerberos4.o \
-       ../heimdal/kdc/kaserver.o \
-       ../heimdal/kdc/digest.o \
-       ../heimdal/kdc/process.o \
-       ../heimdal/kdc/windc.o \
-       ../heimdal/kdc/kx509.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_KRB5 HEIMDAL_HDB HEIMDAL_HEIM_ASN1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1
 PUBLIC_DEPENDENCIES = HEIMDAL_NTLM HEIMDAL_HCRYPTO
 # End SUBSYSTEM HEIMDAL_KDC
 #######################
 
+HEIMDAL_KDC_OBJ_FILES = \
+       ./heimdal/kdc/default_config.o \
+       ./heimdal/kdc/kerberos5.o \
+       ./heimdal/kdc/krb5tgs.o \
+       ./heimdal/kdc/pkinit.o \
+       ./heimdal/kdc/log.o \
+       ./heimdal/kdc/misc.o \
+       ./heimdal/kdc/524.o \
+       ./heimdal/kdc/kerberos4.o \
+       ./heimdal/kdc/kaserver.o \
+       ./heimdal/kdc/digest.o \
+       ./heimdal/kdc/process.o \
+       ./heimdal/kdc/windc.o \
+       ./heimdal/kdc/kx509.o
+
 [SUBSYSTEM::HEIMDAL_NTLM]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/ntlm
-OBJ_FILES = \
-       ../heimdal/lib/ntlm/ntlm.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5
 
+HEIMDAL_NTLM_OBJ_FILES = \
+       ./heimdal/lib/ntlm/ntlm.o
+
 [SUBSYSTEM::HEIMDAL_HDB_KEYS]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
-OBJ_FILES = \
-       ../heimdal/lib/hdb/keys.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
                                           HEIMDAL_HDB_ASN1
 
+HEIMDAL_HDB_KEYS_OBJ_FILES = ./heimdal/lib/hdb/keys.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_HDB
 [SUBSYSTEM::HEIMDAL_HDB]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
-OBJ_FILES = \
-       ../heimdal/lib/hdb/db.o \
-       ../heimdal/lib/hdb/dbinfo.o \
-       ../heimdal/lib/hdb/hdb.o \
-       ../heimdal/lib/hdb/ext.o \
-       ../heimdal/lib/hdb/keytab.o \
-       ../heimdal/lib/hdb/mkey.o \
-       ../heimdal/lib/hdb/ndbm.o \
-       ../heimdal/lib/hdb/hdb_err.o
 PRIVATE_DEPENDENCIES = HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_COM_ERR HEIMDAL_HDB_ASN1
 # End SUBSYSTEM HEIMDAL_HDB
 #######################
 
+HEIMDAL_HDB_OBJ_FILES = \
+       ./heimdal/lib/hdb/db.o \
+       ./heimdal/lib/hdb/dbinfo.o \
+       ./heimdal/lib/hdb/hdb.o \
+       ./heimdal/lib/hdb/ext.o \
+       ./heimdal/lib/hdb/keytab.o \
+       ./heimdal/lib/hdb/mkey.o \
+       ./heimdal/lib/hdb/ndbm.o \
+       ./heimdal/lib/hdb/hdb_err.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_GSSAPI
 [SUBSYSTEM::HEIMDAL_GSSAPI]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/gssapi -Iheimdal/lib/gssapi/gssapi -Iheimdal/lib/gssapi/spnego -Iheimdal/lib/gssapi/krb5 -Iheimdal/lib/gssapi/mech
-OBJ_FILES = \
-       ../heimdal/lib/gssapi/mech/context.o \
-       ../heimdal/lib/gssapi/mech/gss_krb5.o \
-       ../heimdal/lib/gssapi/mech/gss_mech_switch.o \
-       ../heimdal/lib/gssapi/mech/gss_process_context_token.o \
-       ../heimdal/lib/gssapi/mech/gss_buffer_set.o \
-       ../heimdal/lib/gssapi/mech/gss_add_cred.o \
-       ../heimdal/lib/gssapi/mech/gss_add_oid_set_member.o \
-       ../heimdal/lib/gssapi/mech/gss_compare_name.o \
-       ../heimdal/lib/gssapi/mech/gss_release_oid_set.o \
-       ../heimdal/lib/gssapi/mech/gss_create_empty_oid_set.o \
-       ../heimdal/lib/gssapi/mech/gss_decapsulate_token.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.o \
-       ../heimdal/lib/gssapi/mech/gss_canonicalize_name.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.o \
-       ../heimdal/lib/gssapi/mech/gss_wrap_size_limit.o \
-       ../heimdal/lib/gssapi/mech/gss_names.o \
-       ../heimdal/lib/gssapi/mech/gss_verify.o \
-       ../heimdal/lib/gssapi/mech/gss_display_name.o \
-       ../heimdal/lib/gssapi/mech/gss_duplicate_oid.o \
-       ../heimdal/lib/gssapi/mech/gss_display_status.o \
-       ../heimdal/lib/gssapi/mech/gss_release_buffer.o \
-       ../heimdal/lib/gssapi/mech/gss_release_oid.o \
-       ../heimdal/lib/gssapi/mech/gss_test_oid_set_member.o \
-       ../heimdal/lib/gssapi/mech/gss_release_cred.o \
-       ../heimdal/lib/gssapi/mech/gss_set_sec_context_option.o \
-       ../heimdal/lib/gssapi/mech/gss_export_name.o \
-       ../heimdal/lib/gssapi/mech/gss_seal.o \
-       ../heimdal/lib/gssapi/mech/gss_acquire_cred.o \
-       ../heimdal/lib/gssapi/mech/gss_unseal.o \
-       ../heimdal/lib/gssapi/mech/gss_verify_mic.o \
-       ../heimdal/lib/gssapi/mech/gss_accept_sec_context.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.o \
-       ../heimdal/lib/gssapi/mech/gss_indicate_mechs.o \
-       ../heimdal/lib/gssapi/mech/gss_delete_sec_context.o \
-       ../heimdal/lib/gssapi/mech/gss_sign.o \
-       ../heimdal/lib/gssapi/mech/gss_utils.o \
-       ../heimdal/lib/gssapi/mech/gss_init_sec_context.o \
-       ../heimdal/lib/gssapi/mech/gss_oid_equal.o \
-       ../heimdal/lib/gssapi/mech/gss_oid_to_str.o \
-       ../heimdal/lib/gssapi/mech/gss_context_time.o \
-       ../heimdal/lib/gssapi/mech/gss_encapsulate_token.o \
-       ../heimdal/lib/gssapi/mech/gss_get_mic.o \
-       ../heimdal/lib/gssapi/mech/gss_import_sec_context.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_cred.o \
-       ../heimdal/lib/gssapi/mech/gss_wrap.o \
-       ../heimdal/lib/gssapi/mech/gss_import_name.o \
-       ../heimdal/lib/gssapi/mech/gss_duplicate_name.o \
-       ../heimdal/lib/gssapi/mech/gss_unwrap.o \
-       ../heimdal/lib/gssapi/mech/gss_export_sec_context.o \
-       ../heimdal/lib/gssapi/mech/gss_inquire_context.o \
-       ../heimdal/lib/gssapi/mech/gss_release_name.o \
-       ../heimdal/lib/gssapi/mech/gss_set_cred_option.o \
-       ../heimdal/lib/gssapi/asn1_GSSAPIContextToken.o \
-       ../heimdal/lib/gssapi/spnego/init_sec_context.o \
-       ../heimdal/lib/gssapi/spnego/external.o \
-       ../heimdal/lib/gssapi/spnego/compat.o \
-       ../heimdal/lib/gssapi/spnego/context_stubs.o \
-       ../heimdal/lib/gssapi/spnego/cred_stubs.o \
-       ../heimdal/lib/gssapi/spnego/accept_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/copy_ccache.o \
-       ../heimdal/lib/gssapi/krb5/delete_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/init_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/context_time.o \
-       ../heimdal/lib/gssapi/krb5/init.o \
-       ../heimdal/lib/gssapi/krb5/address_to_krb5addr.o \
-       ../heimdal/lib/gssapi/krb5/get_mic.o \
-       ../heimdal/lib/gssapi/krb5/inquire_context.o \
-       ../heimdal/lib/gssapi/krb5/add_cred.o \
-       ../heimdal/lib/gssapi/krb5/inquire_cred.o \
-       ../heimdal/lib/gssapi/krb5/inquire_cred_by_oid.o \
-       ../heimdal/lib/gssapi/krb5/inquire_cred_by_mech.o \
-       ../heimdal/lib/gssapi/krb5/inquire_mechs_for_name.o \
-       ../heimdal/lib/gssapi/krb5/inquire_names_for_mech.o \
-       ../heimdal/lib/gssapi/krb5/indicate_mechs.o \
-       ../heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.o \
-       ../heimdal/lib/gssapi/krb5/export_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/import_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/duplicate_name.o \
-       ../heimdal/lib/gssapi/krb5/import_name.o \
-       ../heimdal/lib/gssapi/krb5/compare_name.o \
-       ../heimdal/lib/gssapi/krb5/export_name.o \
-       ../heimdal/lib/gssapi/krb5/canonicalize_name.o \
-       ../heimdal/lib/gssapi/krb5/unwrap.o \
-       ../heimdal/lib/gssapi/krb5/wrap.o \
-       ../heimdal/lib/gssapi/krb5/release_name.o \
-       ../heimdal/lib/gssapi/krb5/cfx.o \
-       ../heimdal/lib/gssapi/krb5/8003.o \
-       ../heimdal/lib/gssapi/krb5/arcfour.o \
-       ../heimdal/lib/gssapi/krb5/encapsulate.o \
-       ../heimdal/lib/gssapi/krb5/display_name.o \
-       ../heimdal/lib/gssapi/krb5/sequence.o \
-       ../heimdal/lib/gssapi/krb5/display_status.o \
-       ../heimdal/lib/gssapi/krb5/release_buffer.o \
-       ../heimdal/lib/gssapi/krb5/external.o \
-       ../heimdal/lib/gssapi/krb5/compat.o \
-       ../heimdal/lib/gssapi/krb5/acquire_cred.o \
-       ../heimdal/lib/gssapi/krb5/release_cred.o \
-       ../heimdal/lib/gssapi/krb5/set_cred_option.o \
-       ../heimdal/lib/gssapi/krb5/decapsulate.o \
-       ../heimdal/lib/gssapi/krb5/verify_mic.o \
-       ../heimdal/lib/gssapi/krb5/accept_sec_context.o \
-       ../heimdal/lib/gssapi/krb5/set_sec_context_option.o \
-       ../heimdal/lib/gssapi/krb5/process_context_token.o \
-       ../heimdal/lib/gssapi/krb5/prf.o
 PRIVATE_DEPENDENCIES = HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1
 PUBLIC_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_KRB5
 # End SUBSYSTEM HEIMDAL_GSSAPI
 #######################
 
+HEIMDAL_GSSAPI_OBJ_FILES = \
+       ./heimdal/lib/gssapi/mech/context.o \
+       ./heimdal/lib/gssapi/mech/gss_krb5.o \
+       ./heimdal/lib/gssapi/mech/gss_mech_switch.o \
+       ./heimdal/lib/gssapi/mech/gss_process_context_token.o \
+       ./heimdal/lib/gssapi/mech/gss_buffer_set.o \
+       ./heimdal/lib/gssapi/mech/gss_add_cred.o \
+       ./heimdal/lib/gssapi/mech/gss_add_oid_set_member.o \
+       ./heimdal/lib/gssapi/mech/gss_compare_name.o \
+       ./heimdal/lib/gssapi/mech/gss_release_oid_set.o \
+       ./heimdal/lib/gssapi/mech/gss_create_empty_oid_set.o \
+       ./heimdal/lib/gssapi/mech/gss_decapsulate_token.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.o \
+       ./heimdal/lib/gssapi/mech/gss_canonicalize_name.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.o \
+       ./heimdal/lib/gssapi/mech/gss_wrap_size_limit.o \
+       ./heimdal/lib/gssapi/mech/gss_names.o \
+       ./heimdal/lib/gssapi/mech/gss_verify.o \
+       ./heimdal/lib/gssapi/mech/gss_display_name.o \
+       ./heimdal/lib/gssapi/mech/gss_duplicate_oid.o \
+       ./heimdal/lib/gssapi/mech/gss_display_status.o \
+       ./heimdal/lib/gssapi/mech/gss_release_buffer.o \
+       ./heimdal/lib/gssapi/mech/gss_release_oid.o \
+       ./heimdal/lib/gssapi/mech/gss_test_oid_set_member.o \
+       ./heimdal/lib/gssapi/mech/gss_release_cred.o \
+       ./heimdal/lib/gssapi/mech/gss_set_sec_context_option.o \
+       ./heimdal/lib/gssapi/mech/gss_export_name.o \
+       ./heimdal/lib/gssapi/mech/gss_seal.o \
+       ./heimdal/lib/gssapi/mech/gss_acquire_cred.o \
+       ./heimdal/lib/gssapi/mech/gss_unseal.o \
+       ./heimdal/lib/gssapi/mech/gss_verify_mic.o \
+       ./heimdal/lib/gssapi/mech/gss_accept_sec_context.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.o \
+       ./heimdal/lib/gssapi/mech/gss_indicate_mechs.o \
+       ./heimdal/lib/gssapi/mech/gss_delete_sec_context.o \
+       ./heimdal/lib/gssapi/mech/gss_sign.o \
+       ./heimdal/lib/gssapi/mech/gss_utils.o \
+       ./heimdal/lib/gssapi/mech/gss_init_sec_context.o \
+       ./heimdal/lib/gssapi/mech/gss_oid_equal.o \
+       ./heimdal/lib/gssapi/mech/gss_oid_to_str.o \
+       ./heimdal/lib/gssapi/mech/gss_context_time.o \
+       ./heimdal/lib/gssapi/mech/gss_encapsulate_token.o \
+       ./heimdal/lib/gssapi/mech/gss_get_mic.o \
+       ./heimdal/lib/gssapi/mech/gss_import_sec_context.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_cred.o \
+       ./heimdal/lib/gssapi/mech/gss_wrap.o \
+       ./heimdal/lib/gssapi/mech/gss_import_name.o \
+       ./heimdal/lib/gssapi/mech/gss_duplicate_name.o \
+       ./heimdal/lib/gssapi/mech/gss_unwrap.o \
+       ./heimdal/lib/gssapi/mech/gss_export_sec_context.o \
+       ./heimdal/lib/gssapi/mech/gss_inquire_context.o \
+       ./heimdal/lib/gssapi/mech/gss_release_name.o \
+       ./heimdal/lib/gssapi/mech/gss_set_cred_option.o \
+       ./heimdal/lib/gssapi/asn1_GSSAPIContextToken.o \
+       ./heimdal/lib/gssapi/spnego/init_sec_context.o \
+       ./heimdal/lib/gssapi/spnego/external.o \
+       ./heimdal/lib/gssapi/spnego/compat.o \
+       ./heimdal/lib/gssapi/spnego/context_stubs.o \
+       ./heimdal/lib/gssapi/spnego/cred_stubs.o \
+       ./heimdal/lib/gssapi/spnego/accept_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/copy_ccache.o \
+       ./heimdal/lib/gssapi/krb5/delete_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/init_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/context_time.o \
+       ./heimdal/lib/gssapi/krb5/init.o \
+       ./heimdal/lib/gssapi/krb5/address_to_krb5addr.o \
+       ./heimdal/lib/gssapi/krb5/get_mic.o \
+       ./heimdal/lib/gssapi/krb5/inquire_context.o \
+       ./heimdal/lib/gssapi/krb5/add_cred.o \
+       ./heimdal/lib/gssapi/krb5/inquire_cred.o \
+       ./heimdal/lib/gssapi/krb5/inquire_cred_by_oid.o \
+       ./heimdal/lib/gssapi/krb5/inquire_cred_by_mech.o \
+       ./heimdal/lib/gssapi/krb5/inquire_mechs_for_name.o \
+       ./heimdal/lib/gssapi/krb5/inquire_names_for_mech.o \
+       ./heimdal/lib/gssapi/krb5/indicate_mechs.o \
+       ./heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.o \
+       ./heimdal/lib/gssapi/krb5/export_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/import_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/duplicate_name.o \
+       ./heimdal/lib/gssapi/krb5/import_name.o \
+       ./heimdal/lib/gssapi/krb5/compare_name.o \
+       ./heimdal/lib/gssapi/krb5/export_name.o \
+       ./heimdal/lib/gssapi/krb5/canonicalize_name.o \
+       ./heimdal/lib/gssapi/krb5/unwrap.o \
+       ./heimdal/lib/gssapi/krb5/wrap.o \
+       ./heimdal/lib/gssapi/krb5/release_name.o \
+       ./heimdal/lib/gssapi/krb5/cfx.o \
+       ./heimdal/lib/gssapi/krb5/8003.o \
+       ./heimdal/lib/gssapi/krb5/arcfour.o \
+       ./heimdal/lib/gssapi/krb5/encapsulate.o \
+       ./heimdal/lib/gssapi/krb5/display_name.o \
+       ./heimdal/lib/gssapi/krb5/sequence.o \
+       ./heimdal/lib/gssapi/krb5/display_status.o \
+       ./heimdal/lib/gssapi/krb5/release_buffer.o \
+       ./heimdal/lib/gssapi/krb5/external.o \
+       ./heimdal/lib/gssapi/krb5/compat.o \
+       ./heimdal/lib/gssapi/krb5/acquire_cred.o \
+       ./heimdal/lib/gssapi/krb5/release_cred.o \
+       ./heimdal/lib/gssapi/krb5/set_cred_option.o \
+       ./heimdal/lib/gssapi/krb5/decapsulate.o \
+       ./heimdal/lib/gssapi/krb5/verify_mic.o \
+       ./heimdal/lib/gssapi/krb5/accept_sec_context.o \
+       ./heimdal/lib/gssapi/krb5/set_sec_context_option.o \
+       ./heimdal/lib/gssapi/krb5/process_context_token.o \
+       ./heimdal/lib/gssapi/krb5/prf.o
+
+
 #######################
 # Start SUBSYSTEM HEIMDAL_KRB5
 [SUBSYSTEM::HEIMDAL_KRB5]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/krb5 
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_PKINIT_ASN1 HEIMDAL_WIND
 PUBLIC_DEPENDENCIES = HEIMDAL_KRB5_ASN1 HEIMDAL_GLUE HEIMDAL_HX509 HEIMDAL_HCRYPTO
-OBJ_FILES = \
-       ../heimdal/lib/krb5/acache.o \
-       ../heimdal/lib/krb5/add_et_list.o \
-       ../heimdal/lib/krb5/addr_families.o \
-       ../heimdal/lib/krb5/appdefault.o \
-       ../heimdal/lib/krb5/asn1_glue.o \
-       ../heimdal/lib/krb5/auth_context.o \
-       ../heimdal/lib/krb5/build_ap_req.o \
-       ../heimdal/lib/krb5/build_auth.o \
-       ../heimdal/lib/krb5/cache.o \
-       ../heimdal/lib/krb5/changepw.o \
-       ../heimdal/lib/krb5/codec.o \
-       ../heimdal/lib/krb5/config_file.o \
-       ../heimdal/lib/krb5/config_file_netinfo.o \
-       ../heimdal/lib/krb5/constants.o \
-       ../heimdal/lib/krb5/context.o \
-       ../heimdal/lib/krb5/convert_creds.o \
-       ../heimdal/lib/krb5/copy_host_realm.o \
-       ../heimdal/lib/krb5/crc.o \
-       ../heimdal/lib/krb5/creds.o \
-       ../heimdal/lib/krb5/crypto.o \
-       ../heimdal/lib/krb5/data.o \
-       ../heimdal/lib/krb5/eai_to_heim_errno.o \
-       ../heimdal/lib/krb5/error_string.o \
-       ../heimdal/lib/krb5/expand_hostname.o \
-       ../heimdal/lib/krb5/fcache.o \
-       ../heimdal/lib/krb5/free.o \
-       ../heimdal/lib/krb5/free_host_realm.o \
-       ../heimdal/lib/krb5/generate_seq_number.o \
-       ../heimdal/lib/krb5/generate_subkey.o \
-       ../heimdal/lib/krb5/get_cred.o \
-       ../heimdal/lib/krb5/get_default_principal.o \
-       ../heimdal/lib/krb5/get_default_realm.o \
-       ../heimdal/lib/krb5/get_for_creds.o \
-       ../heimdal/lib/krb5/get_host_realm.o \
-       ../heimdal/lib/krb5/get_in_tkt.o \
-       ../heimdal/lib/krb5/get_in_tkt_with_keytab.o \
-       ../heimdal/lib/krb5/get_port.o \
-       ../heimdal/lib/krb5/init_creds.o \
-       ../heimdal/lib/krb5/init_creds_pw.o \
-       ../heimdal/lib/krb5/kcm.o \
-       ../heimdal/lib/krb5/keyblock.o \
-       ../heimdal/lib/krb5/keytab.o \
-       ../heimdal/lib/krb5/keytab_any.o \
-       ../heimdal/lib/krb5/keytab_file.o \
-       ../heimdal/lib/krb5/keytab_memory.o \
-       ../heimdal/lib/krb5/keytab_keyfile.o \
-       ../heimdal/lib/krb5/keytab_krb4.o \
-       ../heimdal/lib/krb5/krbhst.o \
-       ../heimdal/lib/krb5/log.o \
-       ../heimdal/lib/krb5/mcache.o \
-       ../heimdal/lib/krb5/misc.o \
-       ../heimdal/lib/krb5/mk_error.o \
-       ../heimdal/lib/krb5/mk_priv.o \
-       ../heimdal/lib/krb5/mk_rep.o \
-       ../heimdal/lib/krb5/mk_req.o \
-       ../heimdal/lib/krb5/mk_req_ext.o \
-       ../heimdal/lib/krb5/mit_glue.o \
-       ../heimdal/lib/krb5/n-fold.o \
-       ../heimdal/lib/krb5/padata.o \
-       ../heimdal/lib/krb5/pkinit.o \
-       ../heimdal/lib/krb5/plugin.o \
-       ../heimdal/lib/krb5/principal.o \
-       ../heimdal/lib/krb5/pac.o \
-       ../heimdal/lib/krb5/prompter_posix.o \
-       ../heimdal/lib/krb5/rd_cred.o \
-       ../heimdal/lib/krb5/rd_error.o \
-       ../heimdal/lib/krb5/rd_priv.o \
-       ../heimdal/lib/krb5/rd_rep.o \
-       ../heimdal/lib/krb5/rd_req.o \
-       ../heimdal/lib/krb5/replay.o \
-       ../heimdal/lib/krb5/send_to_kdc.o \
-       ../heimdal/lib/krb5/set_default_realm.o \
-       ../heimdal/lib/krb5/store.o \
-       ../heimdal/lib/krb5/store_emem.o \
-       ../heimdal/lib/krb5/store_fd.o \
-       ../heimdal/lib/krb5/store_mem.o \
-       ../heimdal/lib/krb5/ticket.o \
-       ../heimdal/lib/krb5/time.o \
-       ../heimdal/lib/krb5/transited.o \
-       ../heimdal/lib/krb5/v4_glue.o \
-       ../heimdal/lib/krb5/version.o \
-       ../heimdal/lib/krb5/warn.o \
-       ../heimdal/lib/krb5/krb5_err.o \
-       ../heimdal/lib/krb5/heim_err.o \
-       ../heimdal/lib/krb5/k524_err.o \
-       ../heimdal/lib/krb5/krb_err.o
 # End SUBSYSTEM HEIMDAL_KRB5
 #######################
 
+HEIMDAL_KRB5_OBJ_FILES = \
+       ./heimdal/lib/krb5/acache.o \
+       ./heimdal/lib/krb5/add_et_list.o \
+       ./heimdal/lib/krb5/addr_families.o \
+       ./heimdal/lib/krb5/appdefault.o \
+       ./heimdal/lib/krb5/asn1_glue.o \
+       ./heimdal/lib/krb5/auth_context.o \
+       ./heimdal/lib/krb5/build_ap_req.o \
+       ./heimdal/lib/krb5/build_auth.o \
+       ./heimdal/lib/krb5/cache.o \
+       ./heimdal/lib/krb5/changepw.o \
+       ./heimdal/lib/krb5/codec.o \
+       ./heimdal/lib/krb5/config_file.o \
+       ./heimdal/lib/krb5/config_file_netinfo.o \
+       ./heimdal/lib/krb5/constants.o \
+       ./heimdal/lib/krb5/context.o \
+       ./heimdal/lib/krb5/convert_creds.o \
+       ./heimdal/lib/krb5/copy_host_realm.o \
+       ./heimdal/lib/krb5/crc.o \
+       ./heimdal/lib/krb5/creds.o \
+       ./heimdal/lib/krb5/crypto.o \
+       ./heimdal/lib/krb5/data.o \
+       ./heimdal/lib/krb5/eai_to_heim_errno.o \
+       ./heimdal/lib/krb5/error_string.o \
+       ./heimdal/lib/krb5/expand_hostname.o \
+       ./heimdal/lib/krb5/fcache.o \
+       ./heimdal/lib/krb5/free.o \
+       ./heimdal/lib/krb5/free_host_realm.o \
+       ./heimdal/lib/krb5/generate_seq_number.o \
+       ./heimdal/lib/krb5/generate_subkey.o \
+       ./heimdal/lib/krb5/get_cred.o \
+       ./heimdal/lib/krb5/get_default_principal.o \
+       ./heimdal/lib/krb5/get_default_realm.o \
+       ./heimdal/lib/krb5/get_for_creds.o \
+       ./heimdal/lib/krb5/get_host_realm.o \
+       ./heimdal/lib/krb5/get_in_tkt.o \
+       ./heimdal/lib/krb5/get_in_tkt_with_keytab.o \
+       ./heimdal/lib/krb5/get_port.o \
+       ./heimdal/lib/krb5/init_creds.o \
+       ./heimdal/lib/krb5/init_creds_pw.o \
+       ./heimdal/lib/krb5/kcm.o \
+       ./heimdal/lib/krb5/keyblock.o \
+       ./heimdal/lib/krb5/keytab.o \
+       ./heimdal/lib/krb5/keytab_any.o \
+       ./heimdal/lib/krb5/keytab_file.o \
+       ./heimdal/lib/krb5/keytab_memory.o \
+       ./heimdal/lib/krb5/keytab_keyfile.o \
+       ./heimdal/lib/krb5/keytab_krb4.o \
+       ./heimdal/lib/krb5/krbhst.o \
+       ./heimdal/lib/krb5/log.o \
+       ./heimdal/lib/krb5/mcache.o \
+       ./heimdal/lib/krb5/misc.o \
+       ./heimdal/lib/krb5/mk_error.o \
+       ./heimdal/lib/krb5/mk_priv.o \
+       ./heimdal/lib/krb5/mk_rep.o \
+       ./heimdal/lib/krb5/mk_req.o \
+       ./heimdal/lib/krb5/mk_req_ext.o \
+       ./heimdal/lib/krb5/mit_glue.o \
+       ./heimdal/lib/krb5/n-fold.o \
+       ./heimdal/lib/krb5/padata.o \
+       ./heimdal/lib/krb5/pkinit.o \
+       ./heimdal/lib/krb5/plugin.o \
+       ./heimdal/lib/krb5/principal.o \
+       ./heimdal/lib/krb5/pac.o \
+       ./heimdal/lib/krb5/prompter_posix.o \
+       ./heimdal/lib/krb5/rd_cred.o \
+       ./heimdal/lib/krb5/rd_error.o \
+       ./heimdal/lib/krb5/rd_priv.o \
+       ./heimdal/lib/krb5/rd_rep.o \
+       ./heimdal/lib/krb5/rd_req.o \
+       ./heimdal/lib/krb5/replay.o \
+       ./heimdal/lib/krb5/send_to_kdc.o \
+       ./heimdal/lib/krb5/set_default_realm.o \
+       ./heimdal/lib/krb5/store.o \
+       ./heimdal/lib/krb5/store_emem.o \
+       ./heimdal/lib/krb5/store_fd.o \
+       ./heimdal/lib/krb5/store_mem.o \
+       ./heimdal/lib/krb5/ticket.o \
+       ./heimdal/lib/krb5/time.o \
+       ./heimdal/lib/krb5/transited.o \
+       ./heimdal/lib/krb5/v4_glue.o \
+       ./heimdal/lib/krb5/version.o \
+       ./heimdal/lib/krb5/warn.o \
+       ./heimdal/lib/krb5/krb5_err.o \
+       ./heimdal/lib/krb5/heim_err.o \
+       ./heimdal/lib/krb5/k524_err.o \
+       ./heimdal/lib/krb5/krb_err.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_HEIM_ASN1
 [SUBSYSTEM::HEIMDAL_HEIM_ASN1]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/asn1
-OBJ_FILES = \
-       ../heimdal/lib/asn1/der_get.o \
-       ../heimdal/lib/asn1/der_put.o \
-       ../heimdal/lib/asn1/der_free.o \
-       ../heimdal/lib/asn1/der_format.o \
-       ../heimdal/lib/asn1/der_length.o \
-       ../heimdal/lib/asn1/der_copy.o \
-       ../heimdal/lib/asn1/der_cmp.o \
-       ../heimdal/lib/asn1/extra.o \
-       ../heimdal/lib/asn1/timegm.o \
-       ../heimdal/lib/asn1/asn1_err.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_COM_ERR
 # End SUBSYSTEM HEIMDAL_KRB5
 #######################
 
+HEIMDAL_HEIM_ASN1_OBJ_FILES = \
+       ./heimdal/lib/asn1/der_get.o \
+       ./heimdal/lib/asn1/der_put.o \
+       ./heimdal/lib/asn1/der_free.o \
+       ./heimdal/lib/asn1/der_format.o \
+       ./heimdal/lib/asn1/der_length.o \
+       ./heimdal/lib/asn1/der_copy.o \
+       ./heimdal/lib/asn1/der_cmp.o \
+       ./heimdal/lib/asn1/extra.o \
+       ./heimdal/lib/asn1/timegm.o \
+       ./heimdal/lib/asn1/asn1_err.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
 [SUBSYSTEM::HEIMDAL_HCRYPTO_IMATH]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hcrypto/imath 
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN 
-OBJ_FILES = \
-       ../heimdal/lib/hcrypto/imath/imath.o \
-       ../heimdal/lib/hcrypto/imath/iprime.o
 # End SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
 #######################
 
+HEIMDAL_HCRYPTO_IMATH_OBJ_FILES = \
+       ./heimdal/lib/hcrypto/imath/imath.o \
+       ./heimdal/lib/hcrypto/imath/iprime.o
+
 [SUBSYSTEM::HEIMDAL_HCRYPTO]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hcrypto -Iheimdal/lib
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1
-OBJ_FILES = \
-       ../heimdal/lib/hcrypto/aes.o \
-       ../heimdal/lib/hcrypto/bn.o \
-       ../heimdal/lib/hcrypto/dh.o \
-       ../heimdal/lib/hcrypto/dh-imath.o \
-       ../heimdal/lib/hcrypto/des.o \
-       ../heimdal/lib/hcrypto/dsa.o \
-       ../heimdal/lib/hcrypto/engine.o \
-       ../heimdal/lib/hcrypto/md2.o \
-       ../heimdal/lib/hcrypto/md4.o \
-       ../heimdal/lib/hcrypto/md5.o \
-       ../heimdal/lib/hcrypto/rsa.o \
-       ../heimdal/lib/hcrypto/rsa-imath.o \
-       ../heimdal/lib/hcrypto/rc2.o \
-       ../heimdal/lib/hcrypto/rc4.o \
-       ../heimdal/lib/hcrypto/rijndael-alg-fst.o \
-       ../heimdal/lib/hcrypto/rnd_keys.o \
-       ../heimdal/lib/hcrypto/sha.o \
-       ../heimdal/lib/hcrypto/sha256.o \
-       ../heimdal/lib/hcrypto/ui.o \
-       ../heimdal/lib/hcrypto/evp.o \
-       ../heimdal/lib/hcrypto/pkcs5.o \
-       ../heimdal/lib/hcrypto/pkcs12.o \
-       ../heimdal/lib/hcrypto/rand.o \
-       ../heimdal/lib/hcrypto/rand-egd.o \
-       ../heimdal/lib/hcrypto/rand-unix.o \
-       ../heimdal/lib/hcrypto/rand-fortuna.o \
-       ../heimdal/lib/hcrypto/rand-timer.o \
-       ../heimdal/lib/hcrypto/hmac.o \
-       ../heimdal/lib/hcrypto/camellia.o \
-       ../heimdal/lib/hcrypto/camellia-ntt.o
 # End SUBSYSTEM HEIMDAL_HCRYPTO
 #######################
 
+HEIMDAL_HCRYPTO_OBJ_FILES = \
+       ./heimdal/lib/hcrypto/aes.o \
+       ./heimdal/lib/hcrypto/bn.o \
+       ./heimdal/lib/hcrypto/dh.o \
+       ./heimdal/lib/hcrypto/dh-imath.o \
+       ./heimdal/lib/hcrypto/des.o \
+       ./heimdal/lib/hcrypto/dsa.o \
+       ./heimdal/lib/hcrypto/engine.o \
+       ./heimdal/lib/hcrypto/md2.o \
+       ./heimdal/lib/hcrypto/md4.o \
+       ./heimdal/lib/hcrypto/md5.o \
+       ./heimdal/lib/hcrypto/rsa.o \
+       ./heimdal/lib/hcrypto/rsa-imath.o \
+       ./heimdal/lib/hcrypto/rc2.o \
+       ./heimdal/lib/hcrypto/rc4.o \
+       ./heimdal/lib/hcrypto/rijndael-alg-fst.o \
+       ./heimdal/lib/hcrypto/rnd_keys.o \
+       ./heimdal/lib/hcrypto/sha.o \
+       ./heimdal/lib/hcrypto/sha256.o \
+       ./heimdal/lib/hcrypto/ui.o \
+       ./heimdal/lib/hcrypto/evp.o \
+       ./heimdal/lib/hcrypto/pkcs5.o \
+       ./heimdal/lib/hcrypto/pkcs12.o \
+       ./heimdal/lib/hcrypto/rand.o \
+       ./heimdal/lib/hcrypto/rand-egd.o \
+       ./heimdal/lib/hcrypto/rand-unix.o \
+       ./heimdal/lib/hcrypto/rand-fortuna.o \
+       ./heimdal/lib/hcrypto/rand-timer.o \
+       ./heimdal/lib/hcrypto/hmac.o \
+       ./heimdal/lib/hcrypto/camellia.o \
+       ./heimdal/lib/hcrypto/camellia-ntt.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_HX509
 [SUBSYSTEM::HEIMDAL_HX509]
@@ -342,103 +351,78 @@ PRIVATE_DEPENDENCIES = \
        HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 \
        HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1 \
        HEIMDAL_WIND
-OBJ_FILES = \
-       ../heimdal/lib/hx509/ca.o \
-       ../heimdal/lib/hx509/cert.o \
-       ../heimdal/lib/hx509/cms.o \
-       ../heimdal/lib/hx509/collector.o \
-       ../heimdal/lib/hx509/crypto.o \
-       ../heimdal/lib/hx509/error.o \
-       ../heimdal/lib/hx509/env.o \
-       ../heimdal/lib/hx509/file.o \
-       ../heimdal/lib/hx509/keyset.o \
-       ../heimdal/lib/hx509/ks_dir.o \
-       ../heimdal/lib/hx509/ks_file.o \
-       ../heimdal/lib/hx509/ks_keychain.o \
-       ../heimdal/lib/hx509/ks_mem.o \
-       ../heimdal/lib/hx509/ks_null.o \
-       ../heimdal/lib/hx509/ks_p11.o \
-       ../heimdal/lib/hx509/ks_p12.o \
-       ../heimdal/lib/hx509/lock.o \
-       ../heimdal/lib/hx509/name.o \
-       ../heimdal/lib/hx509/peer.o \
-       ../heimdal/lib/hx509/print.o \
-       ../heimdal/lib/hx509/req.o \
-       ../heimdal/lib/hx509/revoke.o \
-       ../heimdal/lib/hx509/hx509_err.o
 # End SUBSYSTEM HEIMDAL_HX509
 #######################
 
+HEIMDAL_HX509_OBJ_FILES = \
+       ./heimdal/lib/hx509/ca.o \
+       ./heimdal/lib/hx509/cert.o \
+       ./heimdal/lib/hx509/cms.o \
+       ./heimdal/lib/hx509/collector.o \
+       ./heimdal/lib/hx509/crypto.o \
+       ./heimdal/lib/hx509/error.o \
+       ./heimdal/lib/hx509/env.o \
+       ./heimdal/lib/hx509/file.o \
+       ./heimdal/lib/hx509/keyset.o \
+       ./heimdal/lib/hx509/ks_dir.o \
+       ./heimdal/lib/hx509/ks_file.o \
+       ./heimdal/lib/hx509/ks_keychain.o \
+       ./heimdal/lib/hx509/ks_mem.o \
+       ./heimdal/lib/hx509/ks_null.o \
+       ./heimdal/lib/hx509/ks_p11.o \
+       ./heimdal/lib/hx509/ks_p12.o \
+       ./heimdal/lib/hx509/lock.o \
+       ./heimdal/lib/hx509/name.o \
+       ./heimdal/lib/hx509/peer.o \
+       ./heimdal/lib/hx509/print.o \
+       ./heimdal/lib/hx509/req.o \
+       ./heimdal/lib/hx509/revoke.o \
+       ./heimdal/lib/hx509/hx509_err.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_WIND
 [SUBSYSTEM::HEIMDAL_WIND]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/wind 
 PRIVATE_DEPENDENCIES = \
        HEIMDAL_ROKEN HEIMDAL_COM_ERR
-OBJ_FILES = \
-       ../heimdal/lib/wind/wind_err.o \
-       ../heimdal/lib/wind/stringprep.o \
-       ../heimdal/lib/wind/errorlist.o \
-       ../heimdal/lib/wind/errorlist_table.o \
-       ../heimdal/lib/wind/normalize.o \
-       ../heimdal/lib/wind/normalize_table.o \
-       ../heimdal/lib/wind/combining.o \
-       ../heimdal/lib/wind/combining_table.o \
-       ../heimdal/lib/wind/utf8.o \
-       ../heimdal/lib/wind/bidi.o \
-       ../heimdal/lib/wind/bidi_table.o \
-       ../heimdal/lib/wind/ldap.o \
-       ../heimdal/lib/wind/map.o \
-       ../heimdal/lib/wind/map_table.o
+
+HEIMDAL_WIND_OBJ_FILES = \
+       ./heimdal/lib/wind/wind_err.o \
+       ./heimdal/lib/wind/stringprep.o \
+       ./heimdal/lib/wind/errorlist.o \
+       ./heimdal/lib/wind/errorlist_table.o \
+       ./heimdal/lib/wind/normalize.o \
+       ./heimdal/lib/wind/normalize_table.o \
+       ./heimdal/lib/wind/combining.o \
+       ./heimdal/lib/wind/combining_table.o \
+       ./heimdal/lib/wind/utf8.o \
+       ./heimdal/lib/wind/bidi.o \
+       ./heimdal/lib/wind/bidi_table.o \
+       ./heimdal/lib/wind/ldap.o \
+       ./heimdal/lib/wind/map.o \
+       ./heimdal/lib/wind/map_table.o
 # End SUBSYSTEM HEIMDAL_WIND
 #######################
 
 [SUBSYSTEM::HEIMDAL_ROKEN_GETPROGNAME]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/getprogname.o
+
+HEIMDAL_ROKEN_GETPROGNAME_OBJ_FILES = ./heimdal/lib/roken/getprogname.o
 
 [SUBSYSTEM::HEIMDAL_ROKEN_CLOSEFROM] 
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/closefrom.o
+
+HEIMDAL_ROKEN_CLOSEFROM_OBJ_FILES = ./heimdal/lib/roken/closefrom.o
 
 [SUBSYSTEM::HEIMDAL_ROKEN_GETPROGNAME_H] 
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/getprogname.ho
+
+HEIMDAL_ROKEN_GETPROGNAME_H_OBJ_FILES = ./heimdal/lib/roken/getprogname.ho
 
 #######################
 # Start SUBSYSTEM HEIMDAL_ROKEN
 [SUBSYSTEM::HEIMDAL_ROKEN]
 CFLAGS =  -Iheimdal_build -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = \
-       ../heimdal/lib/roken/base64.o \
-       ../heimdal/lib/roken/hex.o \
-       ../heimdal/lib/roken/bswap.o \
-       ../heimdal/lib/roken/dumpdata.o \
-       ../heimdal/lib/roken/emalloc.o \
-       ../heimdal/lib/roken/ecalloc.o \
-       ../heimdal/lib/roken/get_window_size.o \
-       ../heimdal/lib/roken/h_errno.o \
-       ../heimdal/lib/roken/issuid.o \
-       ../heimdal/lib/roken/net_read.o \
-       ../heimdal/lib/roken/net_write.o \
-       ../heimdal/lib/roken/socket.o \
-       ../heimdal/lib/roken/parse_time.o \
-       ../heimdal/lib/roken/parse_units.o \
-       ../heimdal/lib/roken/resolve.o \
-       ../heimdal/lib/roken/roken_gethostby.o \
-       ../heimdal/lib/roken/signal.o \
-       ../heimdal/lib/roken/vis.o \
-       ../heimdal/lib/roken/strlwr.o \
-       ../heimdal/lib/roken/strsep_copy.o \
-       ../heimdal/lib/roken/strsep.o \
-       ../heimdal/lib/roken/strupr.o \
-       ../heimdal/lib/roken/strpool.o \
-       ../heimdal/lib/roken/estrdup.o \
-       ../heimdal/lib/roken/erealloc.o \
-       ../heimdal/lib/roken/simple_exec.o \
-       ../heimdal/lib/roken/strcollect.o \
-       ../heimdal/lib/roken/rtbl.o \
-       replace.o
 PUBLIC_DEPENDENCIES = \
                        HEIMDAL_ROKEN_GETPROGNAME \
                        HEIMDAL_ROKEN_CLOSEFROM \
@@ -447,64 +431,99 @@ PUBLIC_DEPENDENCIES = \
 # End SUBSYSTEM HEIMDAL_ROKEN
 #######################
 
+HEIMDAL_ROKEN_OBJ_FILES = \
+       ./heimdal/lib/roken/base64.o \
+       ./heimdal/lib/roken/hex.o \
+       ./heimdal/lib/roken/bswap.o \
+       ./heimdal/lib/roken/dumpdata.o \
+       ./heimdal/lib/roken/emalloc.o \
+       ./heimdal/lib/roken/ecalloc.o \
+       ./heimdal/lib/roken/get_window_size.o \
+       ./heimdal/lib/roken/h_errno.o \
+       ./heimdal/lib/roken/issuid.o \
+       ./heimdal/lib/roken/net_read.o \
+       ./heimdal/lib/roken/net_write.o \
+       ./heimdal/lib/roken/socket.o \
+       ./heimdal/lib/roken/parse_time.o \
+       ./heimdal/lib/roken/parse_units.o \
+       ./heimdal/lib/roken/resolve.o \
+       ./heimdal/lib/roken/roken_gethostby.o \
+       ./heimdal/lib/roken/signal.o \
+       ./heimdal/lib/roken/vis.o \
+       ./heimdal/lib/roken/strlwr.o \
+       ./heimdal/lib/roken/strsep_copy.o \
+       ./heimdal/lib/roken/strsep.o \
+       ./heimdal/lib/roken/strupr.o \
+       ./heimdal/lib/roken/strpool.o \
+       ./heimdal/lib/roken/estrdup.o \
+       ./heimdal/lib/roken/erealloc.o \
+       ./heimdal/lib/roken/simple_exec.o \
+       ./heimdal/lib/roken/strcollect.o \
+       ./heimdal/lib/roken/rtbl.o \
+       ./heimdal_build/replace.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_GLUE
 [SUBSYSTEM::HEIMDAL_GLUE]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/krb5 -Iheimdal/lib/asn1 -Iheimdal/lib/com_err 
-OBJ_FILES = glue.o
 PUBLIC_DEPENDENCIES = LIBNETIF LIBSAMBA-HOSTCONFIG
 # End SUBSYSTEM HEIMDAL_GLUE
 #######################
 
+HEIMDAL_GLUE_OBJ_FILES = heimdal_build/glue.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_COM_ERR
 [SUBSYSTEM::HEIMDAL_COM_ERR]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/com_err
-OBJ_FILES = \
-       ../heimdal/lib/com_err/com_err.o \
-       ../heimdal/lib/com_err/error.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
 # End SUBSYSTEM HEIMDAL_COM_ERR
 #######################
 
+HEIMDAL_COM_ERR_OBJ_FILES = \
+       ./heimdal/lib/com_err/com_err.o \
+       ./heimdal/lib/com_err/error.o
+
 #######################
 # Start SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
 [SUBSYSTEM::HEIMDAL_ASN1_COMPILE_LEX]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/asn1 -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/asn1/lex.ho 
 # End SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
 #######################
 
+HEIMDAL_ASN1_COMPILE_LEX_OBJ_FILES = ./heimdal/lib/asn1/lex.ho 
+
 #######################
 # Start BINARY asn1_compile
 [BINARY::asn1_compile]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
 USE_HOSTCC = YES
-OBJ_FILES = \
-       ../heimdal/lib/asn1/main.ho \
-       ../heimdal/lib/asn1/gen.ho \
-       ../heimdal/lib/asn1/gen_copy.ho \
-       ../heimdal/lib/asn1/gen_decode.ho \
-       ../heimdal/lib/asn1/gen_encode.ho \
-       ../heimdal/lib/asn1/gen_free.ho \
-       ../heimdal/lib/asn1/gen_glue.ho \
-       ../heimdal/lib/asn1/gen_length.ho \
-       ../heimdal/lib/asn1/gen_seq.ho \
-       ../heimdal/lib/asn1/hash.ho \
-       ../heimdal/lib/asn1/parse.ho \
-       ../heimdal/lib/roken/emalloc.ho \
-       ../heimdal/lib/roken/getarg.ho \
-       ../heimdal/lib/roken/setprogname.ho \
-       ../heimdal/lib/roken/strupr.ho \
-       ../heimdal/lib/roken/get_window_size.ho \
-       ../heimdal/lib/roken/estrdup.ho \
-       ../heimdal/lib/roken/ecalloc.ho \
-       ../heimdal/lib/asn1/symbol.ho \
-       ../heimdal/lib/vers/print_version.ho \
-       ../lib/socket_wrapper/socket_wrapper.ho \
-       replace.ho
 PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H LIBREPLACE_NETWORK
 
+asn1_compile_OBJ_FILES = \
+       ./heimdal/lib/asn1/main.ho \
+       ./heimdal/lib/asn1/gen.ho \
+       ./heimdal/lib/asn1/gen_copy.ho \
+       ./heimdal/lib/asn1/gen_decode.ho \
+       ./heimdal/lib/asn1/gen_encode.ho \
+       ./heimdal/lib/asn1/gen_free.ho \
+       ./heimdal/lib/asn1/gen_glue.ho \
+       ./heimdal/lib/asn1/gen_length.ho \
+       ./heimdal/lib/asn1/gen_seq.ho \
+       ./heimdal/lib/asn1/hash.ho \
+       ./heimdal/lib/asn1/parse.ho \
+       ./heimdal/lib/roken/emalloc.ho \
+       ./heimdal/lib/roken/getarg.ho \
+       ./heimdal/lib/roken/setprogname.ho \
+       ./heimdal/lib/roken/strupr.ho \
+       ./heimdal/lib/roken/get_window_size.ho \
+       ./heimdal/lib/roken/estrdup.ho \
+       ./heimdal/lib/roken/ecalloc.ho \
+       ./heimdal/lib/asn1/symbol.ho \
+       ./heimdal/lib/vers/print_version.ho \
+       ./lib/socket_wrapper/socket_wrapper.ho \
+       ./heimdal_build/replace.ho
+
 # End BINARY asn1_compile
 #######################
 
@@ -512,28 +531,31 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H LIBR
 # Start SUBSYSTEM HEIMDAL_COM_ERR_COMPILE_LEX
 [SUBSYSTEM::HEIMDAL_COM_ERR_COMPILE_LEX]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/com_err -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/com_err/lex.ho 
 # End SUBSYSTEM HEIMDAL_COM_ERR_COMPILE_LEX
 #######################
 
+HEIMDAL_COM_ERR_COMPILE_LEX_OBJ_FILES = ./heimdal/lib/com_err/lex.ho 
+
 #######################
 # Start BINARY compile_et
 [BINARY::compile_et]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
 USE_HOSTCC = YES
-OBJ_FILES = ../heimdal/lib/vers/print_version.ho \
-       ../heimdal/lib/com_err/parse.ho \
-       ../heimdal/lib/com_err/compile_et.ho \
-       ../heimdal/lib/roken/getarg.ho \
-       ../heimdal/lib/roken/get_window_size.ho \
-       ../heimdal/lib/roken/strupr.ho \
-       ../heimdal/lib/roken/setprogname.ho \
-       ../lib/socket_wrapper/socket_wrapper.ho \
-       replace.ho
 PRIVATE_DEPENDENCIES = HEIMDAL_COM_ERR_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H LIBREPLACE_NETWORK
 # End BINARY compile_et
 #######################
 
+compile_et_OBJ_FILES = ./heimdal/lib/vers/print_version.ho \
+       ./heimdal/lib/com_err/parse.ho \
+       ./heimdal/lib/com_err/compile_et.ho \
+       ./heimdal/lib/roken/getarg.ho \
+       ./heimdal/lib/roken/get_window_size.ho \
+       ./heimdal/lib/roken/strupr.ho \
+       ./heimdal/lib/roken/setprogname.ho \
+       ./lib/socket_wrapper/socket_wrapper.ho \
+       ./heimdal_build/replace.ho
+
+
 mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/hdb/hdb.asn1 hdb_asn1 heimdal/lib/hdb |
 mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/gssapi/spnego/spnego.asn1 spnego_asn1 heimdal/lib/gssapi --sequence=MechTypeList |
 mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/gssapi/mech/gssapi.asn1 gssapi_asn1 heimdal/lib/gssapi|
@@ -550,7 +572,7 @@ mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/asn1/kx509.asn1 kx509_as
 mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/hx509/pkcs10.asn1 pkcs10_asn1 heimdal/lib/hx509 --preserve-binary=CertificationRequestInfo|
 
 #
-# Ensure to update ../static_deps.mk when you add a new entry here!
+# Ensure to update ./static_deps.mk when you add a new entry here!
 #
 mkinclude perl_path_wrapper.sh et_deps.pl heimdal/lib/asn1/asn1_err.et heimdal/lib/asn1|
 mkinclude perl_path_wrapper.sh et_deps.pl heimdal/lib/hdb/hdb_err.et heimdal/lib/hdb|
@@ -569,31 +591,25 @@ clean::
 # Start SUBSYSTEM HEIMDAL
 [SUBSYSTEM::HEIMDAL]
 CFLAGS = -Iheimdal_build
-OBJ_FILES = ../heimdal/lib/vers/print_version.o
 PUBLIC_DEPENDENCIES = \
                HEIMDAL_GSSAPI HEIMDAL_KRB5
 # End SUBSYSTEM HEIMDAL
 #######################
 
-#######################
-# Start SUBSYSTEM KERBEROS_LIB
-[SUBSYSTEM::KERBEROS_LIB]
-#PUBLIC_DEPENDENCIES = EXT_KRB5
-PUBLIC_DEPENDENCIES = HEIMDAL
-# End SUBSYSTEM KERBEROS_LIB
-#######################
+HEIMDAL_OBJ_FILES = ./heimdal/lib/vers/print_version.o
 
 #######################
 # Start BINARY compile_et
 [BINARY::samba4kinit]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
-OBJ_FILES = ../heimdal/kuser/kinit.o \
-       ../heimdal/lib/vers/print_version.o \
-       ../heimdal/lib/roken/setprogname.o \
-       ../heimdal/lib/roken/getarg.o 
 PRIVATE_DEPENDENCIES = HEIMDAL_KRB5 HEIMDAL_NTLM
 # End BINARY compile_et
 #######################
 
+samba4kinit_OBJ_FILES = ./heimdal/kuser/kinit.o \
+       ./heimdal/lib/vers/print_version.o \
+       ./heimdal/lib/roken/setprogname.o \
+       ./heimdal/lib/roken/getarg.o 
+
 dist:: heimdal/lib/asn1/lex.c heimdal/lib/com_err/lex.c \
        heimdal/lib/asn1/parse.c heimdal/lib/com_err/parse.c
index 479cb36296ffa0bcaeedac32ea060a8620fdcf91..94ba933e573bbf1574ce0b7eff1f0200dbfa791a 100644 (file)
@@ -5,25 +5,22 @@
 [MODULE::KDC]
 INIT_FUNCTION = server_service_kdc_init
 SUBSYSTEM = service
-OBJ_FILES = \
-               kdc.o \
-               kpasswdd.o
 PRIVATE_DEPENDENCIES = \
-               LIBLDB KERBEROS_LIB HEIMDAL_KDC HEIMDAL_HDB SAMDB
+               LIBLDB HEIMDAL HEIMDAL_KDC HEIMDAL_HDB SAMDB
 # End SUBSYSTEM KDC
 #######################
 
+KDC_OBJ_FILES = $(addprefix kdc/, kdc.o kpasswdd.o)
+
 #######################
 # Start SUBSYSTEM KDC
 [SUBSYSTEM::HDB_LDB]
 CFLAGS = -Iheimdal/kdc -Iheimdal/lib/hdb
 PRIVATE_PROTO_HEADER = pac_glue.h
-OBJ_FILES = \
-               hdb-ldb.o \
-               pac-glue.o 
 PRIVATE_DEPENDENCIES = \
-               LIBLDB auth_sam auth_sam_reply KERBEROS CREDENTIALS \
+               LIBLDB auth_sam auth_sam_reply HEIMDAL CREDENTIALS \
                HEIMDAL_HDB_ASN1
 # End SUBSYSTEM KDC
 #######################
 
+HDB_LDB_OBJ_FILES = $(addprefix kdc/, hdb-ldb.o pac-glue.o)
index 5f8c530db939149f697c422d22052976af05bf1b..03cc41d69d2ff1f8abe3e0ef887765d4bcab1774 100644 (file)
@@ -6,11 +6,6 @@
 INIT_FUNCTION = server_service_ldap_init
 SUBSYSTEM = service
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = \
-               ldap_server.o \
-               ldap_backend.o \
-               ldap_bind.o \
-               ldap_extended.o
 PRIVATE_DEPENDENCIES = CREDENTIALS \
                LIBCLI_LDAP SAMDB \
                process_model \
@@ -18,3 +13,10 @@ PRIVATE_DEPENDENCIES = CREDENTIALS \
                LIBSAMBA-HOSTCONFIG
 # End SUBSYSTEM SMB
 #######################
+
+LDAP_OBJ_FILES = $(addprefix ldap_server/, \
+               ldap_server.o \
+               ldap_backend.o \
+               ldap_bind.o \
+               ldap_extended.o)
+
index df0f81dccb5e9583717fd545febf14910a757c53..c0bba35ba5dc2fa34600c2db01eeb9f7d9c8d40f 100644 (file)
@@ -1,31 +1,25 @@
 #######################
 # Start SUBSYSTEM MPR
 [SUBSYSTEM::MPR]
-OBJ_FILES = \
-               mpr/miniMpr.o \
-               mpr/var.o
 # End SUBSYSTEM MPR
 #######################
 
+MPR_OBJ_FILES = $(addprefix lib/appweb/mpr/, miniMpr.o var.o)
 
 #######################
 # Start SUBSYSTEM EJS
 [SUBSYSTEM::EJS]
-OBJ_FILES = \
-               ejs/ejsLib.o  \
-               ejs/ejsLex.o \
-               ejs/ejsParser.o \
-               ejs/ejsProcs.o
 PUBLIC_DEPENDENCIES = MPR
 # End SUBSYSTEM EJS
 #######################
 
+EJS_OBJ_FILES = $(addprefix lib/appweb/ejs/, ejsLib.o ejsLex.o ejsParser.o ejsProcs.o)
+
 #######################
 # Start SUBSYSTEM ESP
 [SUBSYSTEM::ESP]
-OBJ_FILES = \
-               esp/esp.o  \
-               esp/espProcs.o
 PUBLIC_DEPENDENCIES = EJS
 # End SUBSYSTEM ESP
 #######################
+
+ESP_OBJ_FILES = $(addprefix lib/appweb/esp/, esp.o espProcs.o)
index d6e90928b0bb68e7597cb63a55e9d55abde76d41..a02151282c798a0edef582ce34d6e5bed42e8882 100644 (file)
@@ -19,26 +19,27 @@ mkinclude dbwrap/config.mk
 mkinclude crypto/config.mk
 
 [SUBSYSTEM::LIBCOMPRESSION]
-OBJ_FILES = compression/mszip.o
+
+LIBCOMPRESSION_OBJ_FILES = lib/compression/mszip.o
 
 [SUBSYSTEM::GENCACHE]
-OBJ_FILES = gencache/gencache.o
 PRIVATE_DEPENDENCIES = TDB_WRAP
 
+GENCACHE_OBJ_FILES = gencache/gencache.o
 
 # PUBLIC_HEADERS += lib/gencache/gencache.h
 
 [SUBSYSTEM::LDB_WRAP]
-OBJ_FILES = ldb_wrap.o
 PUBLIC_DEPENDENCIES = LIBLDB
 PRIVATE_DEPENDENCIES = LDBSAMBA UTIL_LDB
 
-
+LDB_WRAP_OBJ_FILES = lib/ldb_wrap.o
 PUBLIC_HEADERS += lib/ldb_wrap.h
 
 [SUBSYSTEM::TDB_WRAP]
-OBJ_FILES = tdb_wrap.o
 PUBLIC_DEPENDENCIES = LIBTDB
 
-
+TDB_WRAP_OBJ_FILES = lib/tdb_wrap.o
 PUBLIC_HEADERS += lib/tdb_wrap.h
+
+SMBREADLINE_OBJ_LIST = $(SMBREADLINE_OBJ_FILES)
index 2766784c52ea381f4ba294662bb71e0bf2ed212c..e5e5bd4560e7e1bcea8b34ced532c680b7dd4ca7 100644 (file)
@@ -1,15 +1,12 @@
 ################################################
 # Start SUBSYSTEM CHARSET
 [SUBSYSTEM::CHARSET]
-OBJ_FILES = \
-               iconv.o \
-               charcnv.o \
-               util_unistr.o
 PRIVATE_PROTO_HEADER = charset_proto.h
 PUBLIC_DEPENDENCIES = ICONV
 PRIVATE_DEPENDENCIES = DYNCONFIG
 # End SUBSYSTEM CHARSET
 ################################################
 
+CHARSET_OBJ_FILES = $(addprefix lib/charset/, iconv.o charcnv.o util_unistr.o)
 
 PUBLIC_HEADERS += lib/charset/charset.h
index 87014d4d5389503a3d005318e4d68651e089f027..f8a971a0630b069eaadd2e039efdf2a5e6de7fb2 100644 (file)
@@ -1,16 +1,19 @@
 [SUBSYSTEM::LIBCMDLINE_CREDENTIALS]
 PRIVATE_PROTO_HEADER = credentials.h
-OBJ_FILES = credentials.o
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBPOPT
 
+LIBCMDLINE_CREDENTIALS_OBJ_FILES = lib/cmdline/credentials.o
+
 [SUBSYSTEM::POPT_SAMBA]
-OBJ_FILES = popt_common.o
 PUBLIC_DEPENDENCIES = LIBPOPT
 
+POPT_SAMBA_OBJ_FILES = lib/cmdline/popt_common.o
+
 PUBLIC_HEADERS += lib/cmdline/popt_common.h 
 
 [SUBSYSTEM::POPT_CREDENTIALS]
 PRIVATE_PROTO_HEADER = popt_credentials.h
-OBJ_FILES = popt_credentials.o
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS LIBPOPT
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
+
+POPT_CREDENTIALS_OBJ_FILES = lib/cmdline/popt_credentials.o
index f7a8d2060495cdce7009d031fb285d9dcbca082f..82dbe4a4cb30c3b2732e8c030bdc80e486fa3c11 100644 (file)
@@ -1,26 +1,19 @@
 ##############################
 # Start SUBSYSTEM LIBCRYPTO
 [SUBSYSTEM::LIBCRYPTO]
-OBJ_FILES = \
-               crc32.o \
-               md5.o \
-               hmacmd5.o \
-               md4.o \
-               arcfour.o \
-               sha1.o \
-               hmacsha1.o
 # End SUBSYSTEM LIBCRYPTO
 ##############################
 
+LIBCRYPTO_OBJ_FILES = $(addprefix lib/crypto/, \
+                                        crc32.o md5.o hmacmd5.o md4.o \
+                                        arcfour.o sha1.o hmacsha1.o)
+
+
 [MODULE::TORTURE_LIBCRYPTO]
-OBJ_FILES = \
-               md4test.o \
-               md5test.o \
-               hmacmd5test.o \
-               sha1test.o \
-               hmacsha1test.o
 SUBSYSTEM = torture
 PRIVATE_DEPENDENCIES = LIBCRYPTO
 PRIVATE_PROTO_HEADER = test_proto.h
 
+TORTURE_LIBCRYPTO_OBJ_FILES = $(addprefix lib/crypto/, \
+               md4test.o md5test.o hmacmd5test.o sha1test.o hmacsha1test.o)
 
index 01ce4ddd8e6a65da8c753dae3f32a4f7cc619e8d..9038873d326f96f11aaef7cca7e3a97ecb65ec8c 100644 (file)
@@ -1,6 +1,6 @@
 [SUBSYSTEM::LIBDBWRAP]
-OBJ_FILES = dbwrap.o \
-               dbwrap_tdb.o \
-               dbwrap_ctdb.o
 PUBLIC_DEPENDENCIES = \
                LIBTDB ctdb
+
+LIBDBWRAP_OBJ_FILES = $(addprefix lib/dbwrap/, dbwrap.o dbwrap_tdb.o dbwrap_ctdb.o)
+
index 225a23c634ac23177c08fe8144dfccfffe4b065e..e5a1316c47064318b6a607c625a07221a8e6f3da 100644 (file)
@@ -1,43 +1,49 @@
 ##############################
 [MODULE::EVENTS_AIO]
-OBJ_FILES = events_aio.o
 PRIVATE_DEPENDENCIES = LIBAIO_LINUX
 SUBSYSTEM = LIBEVENTS
 INIT_FUNCTION = s4_events_aio_init
 ##############################
 
+EVENTS_AIO_OBJ_FILES = lib/events/events_aio.o
+
 ##############################
 [MODULE::EVENTS_EPOLL]
-OBJ_FILES = events_epoll.o
 SUBSYSTEM = LIBEVENTS
 INIT_FUNCTION = s4_events_epoll_init
 ##############################
 
+EVENTS_EPOLL_OBJ_FILES = lib/events/events_epoll.o
+
 ##############################
 [MODULE::EVENTS_SELECT]
-OBJ_FILES = events_select.o
 SUBSYSTEM = LIBEVENTS
 INIT_FUNCTION = s4_events_select_init
 ##############################
 
+EVENTS_SELECT_OBJ_FILES = lib/events/events_select.o
+
 ##############################
 [MODULE::EVENTS_STANDARD]
-OBJ_FILES = events_standard.o
 SUBSYSTEM = LIBEVENTS
 INIT_FUNCTION = s4_events_standard_init
 ##############################
 
+EVENTS_STANDARD_OBJ_FILES = lib/events/events_standard.o
 
 ##############################
 # Start SUBSYSTEM LIBEVENTS
 [SUBSYSTEM::LIBEVENTS]
-OBJ_FILES = events.o events_timed.o events_signal.o
 PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
 # End SUBSYSTEM LIBEVENTS
 ##############################
 
+LIBEVENTS_OBJ_FILES = $(addprefix lib/events/, events.o events_timed.o events_signal.o)
+
 PUBLIC_HEADERS += $(addprefix lib/events/, events.h events_internal.h)
 
 [PYTHON::swig_events]
 SWIG_FILE = events.i
 PRIVATE_DEPENDENCIES = LIBEVENTS
+
+swig_events_OBJ_FILES = lib/events/events_wrap.o
index 555a5092cc219588da4269353e438a1044105a08..568aadc31e1f1e6c3c2398cd8216860b950e2c07 100644 (file)
@@ -102,6 +102,10 @@ void event_set_default_backend(const char *backend)
 static void event_backend_init(void)
 {
 #if _SAMBA_BUILD_
+       NTSTATUS s4_events_standard_init(void);
+       NTSTATUS s4_events_select_init(void);
+       NTSTATUS s4_events_epoll_init(void);
+       NTSTATUS s4_events_aio_init(void);
        init_module_fn static_init[] = { STATIC_LIBEVENTS_MODULES };
        if (event_backends) return;
        run_init_functions(static_init);
index fa3ac460210e98867fbe868564d7a597db4d11cb..6a0b842fffead78c3e3511d90bf753e1bccb9c7a 100644 (file)
@@ -4,9 +4,8 @@
 PUBLIC_DEPENDENCIES = LIBLDB
 PRIVATE_PROTO_HEADER = ldif_handlers.h
 PRIVATE_DEPENDENCIES = LIBSECURITY SAMDB_SCHEMA LIBNDR NDR_MISC
-OBJ_FILES = \
-               ldif_handlers.o
 # End SUBSYSTEM LDBSAMBA
 ################################################
 
+LDBSAMBA_OBJ_FILES = lib/ldb-samba/ldif_handlers.o
 
index 34e0afbf935f55651a02b62f9d449dfcc41406c9..eece9af5f775affa253e94d9573146e5e906a8df 100644 (file)
@@ -126,14 +126,16 @@ static struct ops_list_entry {
        struct ops_list_entry *next;    
 } *registered_modules = NULL;
 
+#define LDB_MODULE(name) (&ldb_ ## name ## _module_ops)
+
 #ifndef STATIC_LIBLDB_MODULES
 
 #define STATIC_LIBLDB_MODULES \
-       &ldb_operational_module_ops,    \
-       &ldb_rdn_name_module_ops,       \
-       &ldb_paged_results_module_ops,  \
-       &ldb_server_sort_module_ops,    \
-       &ldb_asq_module_ops, \
+       LDB_MODULE(operational),        \
+       LDB_MODULE(rdn_name),   \
+       LDB_MODULE(paged_results),      \
+       LDB_MODULE(server_sort),                \
+       LDB_MODULE(asq), \
        NULL
 #endif
 
index 81fd1e9b9566dcebf3d4ea4a1f45e8df94ec4e10..25219eb8b0fe3110b58e861bf94ec7b8463827d0 100644 (file)
@@ -5,8 +5,8 @@ PRIVATE_DEPENDENCIES = LIBTALLOC
 CFLAGS = -Ilib/ldb/include
 INIT_FUNCTION = &ldb_asq_module_ops
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               modules/asq.o
+
+ldb_asq_OBJ_FILES = lib/ldb/modules/asq.o
 # End MODULE ldb_asq
 ################################################
 
@@ -17,10 +17,10 @@ PRIVATE_DEPENDENCIES = LIBTALLOC
 CFLAGS = -Ilib/ldb/include
 INIT_FUNCTION = &ldb_server_sort_module_ops
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               modules/sort.o
+
 # End MODULE ldb_sort
 ################################################
+ldb_server_sort_OBJ_FILES = lib/ldb/modules/sort.o
 
 ################################################
 # Start MODULE ldb_paged_results
@@ -29,11 +29,11 @@ INIT_FUNCTION = &ldb_paged_results_module_ops
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               modules/paged_results.o
 # End MODULE ldb_paged_results
 ################################################
 
+ldb_paged_results_OBJ_FILES = lib/ldb/modules/paged_results.o
+
 ################################################
 # Start MODULE ldb_paged_results
 [MODULE::ldb_paged_searches]
@@ -41,11 +41,11 @@ INIT_FUNCTION = &ldb_paged_searches_module_ops
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
-OBJ_FILES = \
-               modules/paged_searches.o
 # End MODULE ldb_paged_results
 ################################################
 
+ldb_paged_searches_OBJ_FILES = lib/ldb/modules/paged_searches.o
+
 ################################################
 # Start MODULE ldb_operational
 [MODULE::ldb_operational]
@@ -53,11 +53,11 @@ SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 INIT_FUNCTION = &ldb_operational_module_ops
-OBJ_FILES = \
-               modules/operational.o
 # End MODULE ldb_operational
 ################################################
 
+ldb_operational_OBJ_FILES = lib/ldb/modules/operational.o
+
 ################################################
 # Start MODULE ldb_rdn_name
 [MODULE::ldb_rdn_name]
@@ -65,23 +65,21 @@ SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 INIT_FUNCTION = &ldb_rdn_name_module_ops
-OBJ_FILES = \
-               modules/rdn_name.o
 # End MODULE ldb_rdn_name
 ################################################
 
+ldb_rdn_name_OBJ_FILES = lib/ldb/modules/rdn_name.o
+
 ################################################
 # Start MODULE ldb_map
 [SUBSYSTEM::ldb_map]
 PRIVATE_DEPENDENCIES = LIBTALLOC
 CFLAGS = -Ilib/ldb/include -Ilib/ldb/ldb_map
-OBJ_FILES = \
-               ldb_map/ldb_map_inbound.o \
-               ldb_map/ldb_map_outbound.o \
-               ldb_map/ldb_map.o
 # End MODULE ldb_map
 ################################################
 
+ldb_map_OBJ_FILES = $(addprefix lib/ldb/ldb_map/, ldb_map_inbound.o ldb_map_outbound.o ldb_map.o)
+
 ################################################
 # Start MODULE ldb_skel
 [MODULE::ldb_skel]
@@ -89,68 +87,55 @@ SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 INIT_FUNCTION = &ldb_skel_module_ops
-OBJ_FILES = modules/skel.o
 # End MODULE ldb_skel
 ################################################
 
+ldb_skel_OBJ_FILES = lib/ldb/modules/skel.o
+
 ################################################
 # Start MODULE ldb_sqlite3
 [MODULE::ldb_sqlite3]
 SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC SQLITE3 LIBTALLOC
-OBJ_FILES = \
-               ldb_sqlite3/ldb_sqlite3.o
 # End MODULE ldb_sqlite3
 ################################################
 
+ldb_sqlite3_OBJ_FILES = lib/ldb/ldb_sqlite3/ldb_sqlite3.o
+
 ################################################
 # Start MODULE ldb_tdb
 [MODULE::ldb_tdb]
 SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include -Ilib/ldb/ldb_tdb
-OBJ_FILES = \
-               ldb_tdb/ldb_tdb.o \
-               ldb_tdb/ldb_search.o \
-               ldb_tdb/ldb_pack.o \
-               ldb_tdb/ldb_index.o \
-               ldb_tdb/ldb_cache.o \
-               ldb_tdb/ldb_tdb_wrap.o
 PRIVATE_DEPENDENCIES = \
                LIBTDB LIBTALLOC
 # End MODULE ldb_tdb
 ################################################
 
+ldb_tdb_OBJ_FILES = $(addprefix lib/ldb/ldb_tdb/, ldb_tdb.o ldb_search.o ldb_pack.o ldb_index.o ldb_cache.o ldb_tdb_wrap.o)
+
+
 ################################################
 # Start SUBSYSTEM ldb
 [LIBRARY::LIBLDB]
-VERSION = 0.0.1
-SO_VERSION = 0
 CFLAGS = -Ilib/ldb/include
-PC_FILE = ldb.pc
 INIT_FUNCTION_TYPE = extern const struct ldb_module_ops
-OBJ_FILES = \
-               common/ldb.o \
-               common/ldb_ldif.o \
-               common/ldb_parse.o \
-               common/ldb_msg.o \
-               common/ldb_utf8.o \
-               common/ldb_debug.o \
-               common/ldb_modules.o \
-               common/ldb_match.o \
-               common/ldb_attributes.o \
-               common/attrib_handlers.o \
-               common/ldb_dn.o \
-               common/ldb_controls.o \
-               common/qsort.o
 PUBLIC_DEPENDENCIES = \
                LIBTALLOC
 PRIVATE_DEPENDENCIES = \
                SOCKET_WRAPPER
+
+PC_FILES += $(ldbdir)/ldb.pc
 #
 # End SUBSYSTEM ldb
 ################################################
 
+LIBLDB_VERSION = 0.0.1
+LIBLDB_SOVERSION = 0
+
+LIBLDB_OBJ_FILES = $(addprefix lib/ldb/common/, ldb.o ldb_ldif.o ldb_parse.o ldb_msg.o ldb_utf8.o ldb_debug.o ldb_modules.o ldb_match.o ldb_attributes.o attrib_handlers.o ldb_dn.o ldb_controls.o qsort.o)
+
 PUBLIC_HEADERS += $(ldbdir)/include/ldb.h $(ldbdir)/include/ldb_errors.h
 
 MANPAGES += $(ldbdir)/man/ldb.3
@@ -158,39 +143,38 @@ MANPAGES += $(ldbdir)/man/ldb.3
 ################################################
 # Start BINARY ldbtest
 [BINARY::ldbtest]
-OBJ_FILES= \
-               tools/ldbtest.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ldbtest
 ################################################
 
+ldbtest_OBJ_FILES = lib/ldb/tools/ldbtest.o
+
 ################################################
 # Start BINARY oLschema2ldif
 [BINARY::oLschema2ldif]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/convert.o \
-               tools/oLschema2ldif.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY oLschema2ldif
 ################################################
 
+
+oLschema2ldif_OBJ_FILES = $(addprefix lib/ldb/tools/, convert.o oLschema2ldif.o)
+
 MANPAGES += $(ldbdir)/man/oLschema2ldif.1
 
 ################################################
 # Start BINARY  ad2oLschema
 [BINARY::ad2oLschema]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/convert.o \
-               tools/ad2oLschema.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ad2oLschema
 ################################################
 
+ad2oLschema_OBJ_FILES = $(addprefix lib/ldb/tools/, convert.o ad2oLschema.o)
+
 MANPAGES += $(ldbdir)/man/ad2oLschema.1
 
 mkinclude tools/config.mk
index 0ffba9d99baa8bcf324cfbf015b23302864198b5..ea8533bc38f13f2d5b07901c4035a1bfb80ed613 100644 (file)
@@ -188,8 +188,14 @@ extern const struct ldb_module_ops ldb_asq_module_ops;
 extern const struct ldb_module_ops ldb_server_sort_module_ops;
 extern const struct ldb_module_ops ldb_ldap_module_ops;
 extern const struct ldb_module_ops ldb_ildap_module_ops;
+extern const struct ldb_module_ops ldb_paged_searches_module_ops;
 extern const struct ldb_module_ops ldb_tdb_module_ops;
+extern const struct ldb_module_ops ldb_skel_module_ops;
+extern const struct ldb_module_ops ldb_subtree_rename_module_ops;
+extern const struct ldb_module_ops ldb_subtree_delete_module_ops;
 extern const struct ldb_module_ops ldb_sqlite3_module_ops;
+extern const struct ldb_module_ops ldb_wins_ldb_module_ops;
+extern const struct ldb_module_ops ldb_ranged_results_module_ops;
 
 extern const struct ldb_backend_ops ldb_tdb_backend_ops;
 extern const struct ldb_backend_ops ldb_sqlite3_backend_ops;
index 3062dc886f8f609beb11d7890aa598c51f7f5bfe..1b534645b69a45aeb00210392781b7f124087480 100644 (file)
@@ -6,9 +6,8 @@ CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBCLI_LDAP CREDENTIALS
 ALIASES = ldapi ldaps ldap
-OBJ_FILES = \
-               ldb_ildap.o
 # End MODULE ldb_ildap
 ################################################
 
+ldb_ildap_OBJ_FILES = lib/ldb/ldb_ildap/ldb_ildap.o
 
index bbd4c1c5ebdc772baad3e28bc783d5645b8d58c8..448cc3ed60ffce9aa9918cf9860834561334cbec 100644 (file)
@@ -2,3 +2,5 @@
 PUBLIC_DEPENDENCIES = LIBLDB
 CFLAGS = -Ilib/ldb/include
 SWIG_FILE = ldb.i
+
+swig_ldb_OBJ_FILES = lib/ldb/ldb_wrap.o
index 02ad84ae25d0ffa5ea6085623831ce0e3f300891..6729636434831bb1a52071a6a32853570e9d55e4 100644 (file)
@@ -2,89 +2,89 @@
 # Start SUBSYSTEM LIBLDB_CMDLINE
 [SUBSYSTEM::LIBLDB_CMDLINE]
 CFLAGS = -Ilib/ldb -Ilib/ldb/include
-OBJ_FILES= \
-               cmdline.o
 PUBLIC_DEPENDENCIES = LIBLDB LIBPOPT
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL POPT_SAMBA POPT_CREDENTIALS gensec
 # End SUBSYSTEM LIBLDB_CMDLINE
 ################################################
 
+LIBLDB_CMDLINE_OBJ_FILES = lib/ldb/tools/cmdline.o
+
 ################################################
 # Start BINARY ldbadd
 [BINARY::ldbadd]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               ldbadd.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE LIBCLI_RESOLVE
 # End BINARY ldbadd
 ################################################
 
+
+ldbadd_OBJ_FILES = lib/ldb/tools/ldbadd.o
+
 MANPAGES += $(ldbdir)/man/ldbadd.1
 
 ################################################
 # Start BINARY ldbdel
 [BINARY::ldbdel]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               ldbdel.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ldbdel
 ################################################
 
+ldbdel_OBJ_FILES = lib/ldb/tools/ldbdel.o
+
 MANPAGES += $(ldbdir)/man/ldbdel.1
 
 ################################################
 # Start BINARY ldbmodify
 [BINARY::ldbmodify]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               ldbmodify.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ldbmodify
 ################################################
 
+ldbmodify_OBJ_FILES = lib/ldb/tools/ldbmodify.o
 MANPAGES += $(ldbdir)/man/ldbmodify.1
 
 ################################################
 # Start BINARY ldbsearch
 [BINARY::ldbsearch]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               ldbsearch.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE 
 # End BINARY ldbsearch
 ################################################
 
+ldbsearch_OBJ_FILES = lib/ldb/tools/ldbsearch.o
+
 MANPAGES += $(ldbdir)/man/ldbsearch.1
 
 ################################################
 # Start BINARY ldbedit
 [BINARY::ldbedit]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               ldbedit.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ldbedit
 ################################################
 
+ldbedit_OBJ_FILES = lib/ldb/tools/ldbedit.o
+
 MANPAGES += $(ldbdir)/man/ldbedit.1
 
 ################################################
 # Start BINARY ldbrename
 [BINARY::ldbrename]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               ldbrename.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
 # End BINARY ldbrename
 ################################################
 
+ldbrename_OBJ_FILES = lib/ldb/tools/ldbrename.o
+
 MANPAGES += $(ldbdir)/man/ldbrename.1
 
 
index 3fec9c0c905e1f25f717c1736f229f4c1eba3bc6..0a0097bdf35ccd15648e1ffb26c4d24f9233a4d3 100644 (file)
@@ -2,8 +2,6 @@
 ################################################
 # Start SUBSYSTEM MESSAGING
 [SUBSYSTEM::MESSAGING]
-OBJ_FILES = \
-               messaging.o
 PUBLIC_DEPENDENCIES = \
                LIBSAMBA-UTIL \
                TDB_WRAP \
@@ -14,3 +12,6 @@ PUBLIC_DEPENDENCIES = \
                LIBNDR
 # End SUBSYSTEM MESSAGING
 ################################################
+
+
+MESSAGING_OBJ_FILES = lib/messaging/messaging.o
index 03c10acc7a2f5a768bebca5c6c1552e48d29bdb7..5f136a465de9a492e580d4286f32489417dd2886 100644 (file)
@@ -1,6 +1,7 @@
 ##############################
 # Start SUBSYSTEM NSS_WRAPPER
 [SUBSYSTEM::NSS_WRAPPER]
-OBJ_FILES = nss_wrapper.o
 # End SUBSYSTEM NSS_WRAPPER
 ##############################
+
+NSS_WRAPPER_OBJ_FILES = lib/nss_wrapper/nss_wrapper.o
index 6763884b48571c1bb9e6910b9a8f7ec0c9c003bd..9a8e60bfbe73bf670b3c5612aa040525fd92dc29 100644 (file)
@@ -1,12 +1,14 @@
 [SUBSYSTEM::LIBPOLICY]
 CFLAGS = -Iheimdal/lib/roken
-OBJ_FILES = lex.o parse_adm.o 
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG LIBTALLOC CHARSET 
 
+LIBPOLICY_OBJ_FILES = lib/policy/lex.o lib/policy/parse_adm.o 
+
 lib/policy/lex.l: lib/policy/parse_adm.h
 
 lib/policy/parse_adm.h: lib/policy/parse_adm.c
 
 [BINARY::dumpadm]
-OBJ_FILES = dumpadm.o
 PRIVATE_DEPENDENCIES = LIBPOLICY LIBPOPT LIBSAMBA-HOSTCONFIG LIBTALLOC LIBSAMBA-UTIL CHARSET
+
+dumpadm_OBJ_FILES = lib/policy/dumpadm.o
index ad218517b3c756a9df579a0d425212a81df0260e..86d440ac78cfda45533e26848921ff98ef96eda7 100644 (file)
@@ -1,7 +1,5 @@
 [SUBSYSTEM::LIBPOPT]
-OBJ_FILES = findme.o \
-                       popt.o \
-                       poptconfig.o \
-                       popthelp.o \
-                       poptparse.o
 CFLAGS = -Ilib/popt
+
+LIBPOPT_OBJ_FILES = $(addprefix lib/popt/, findme.o popt.o poptconfig.o popthelp.o poptparse.o)
+
index 77b4ece55274b1565b6476499e736c10f6577c12..ce19d8512eb0b4ccfa8f64c80f7147686f8c946a 100644 (file)
@@ -1,6 +1,7 @@
 [SUBSYSTEM::TDR_REGF]
 PUBLIC_DEPENDENCIES = TDR 
-OBJ_FILES = tdr_regf.o
+
+TDR_REGF_OBJ_FILES = lib/registry/tdr_regf.o
 
 # Special support for external builddirs
 lib/registry/regf.c: lib/registry/tdr_regf.c
@@ -17,96 +18,92 @@ clean::
 ################################################
 # Start SUBSYSTEM registry
 [LIBRARY::registry]
-VERSION = 0.0.1
-PC_FILE = registry.pc
-SO_VERSION = 0
-OBJ_FILES = \
-               interface.o \
-               util.o \
-               samba.o \
-               patchfile_dotreg.o \
-               patchfile_preg.o \
-               patchfile.o \
-               regf.o \
-               hive.o \
-               local.o \
-               ldb.o \
-               dir.o \
-               rpc.o
 PUBLIC_DEPENDENCIES = \
                LIBSAMBA-UTIL CHARSET TDR_REGF LIBLDB \
                RPC_NDR_WINREG LDB_WRAP
 # End MODULE registry_ldb
 ################################################
 
+PC_FILES += lib/registry/registry.pc
+
+registry_VERSION = 0.0.1
+registry_SOVERSION = 0
+
+registry_OBJ_FILES = $(addprefix lib/registry/, interface.o util.o samba.o \
+                                       patchfile_dotreg.o patchfile_preg.o patchfile.o regf.o \
+                                       hive.o local.o ldb.o dir.o rpc.o)
+
 PUBLIC_HEADERS += lib/registry/registry.h
 
 [SUBSYSTEM::registry_common]
 PUBLIC_DEPENDENCIES = registry
-OBJ_FILES = tools/common.o
 PRIVATE_PROTO_HEADER = tools/common.h
 
+registry_common_OBJ_FILES = lib/registry/tools/common.o
+
 ################################################
 # Start BINARY regdiff
 [BINARY::regdiff]
 INSTALLDIR = BINDIR
-OBJ_FILES = tools/regdiff.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS
 # End BINARY regdiff
 ################################################
 
+regdiff_OBJ_FILES = lib/registry/tools/regdiff.o
+
 MANPAGES += lib/registry/man/regdiff.1
 
 ################################################
 # Start BINARY regpatch
 [BINARY::regpatch]
 INSTALLDIR = BINDIR
-OBJ_FILES = tools/regpatch.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS \
                registry_common
 # End BINARY regpatch
 ################################################
 
+regpatch_OBJ_FILES = lib/registry/tools/regpatch.o
+
 MANPAGES += lib/registry/man/regpatch.1
 
 ################################################
 # Start BINARY regshell
 [BINARY::regshell]
 INSTALLDIR = BINDIR
-OBJ_FILES = tools/regshell.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
                SMBREADLINE registry_common
 # End BINARY regshell
 ################################################
 
+regshell_OBJ_FILES = lib/registry/tools/regshell.o
+
 MANPAGES += lib/registry/man/regshell.1
 
 ################################################
 # Start BINARY regtree
 [BINARY::regtree]
 INSTALLDIR = BINDIR
-OBJ_FILES = tools/regtree.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
                registry_common
 # End BINARY regtree
 ################################################
 
+regtree_OBJ_FILES = lib/registry/tools/regtree.o
+
 MANPAGES += lib/registry/man/regtree.1
 
 [SUBSYSTEM::torture_registry]
 PRIVATE_DEPENDENCIES = registry
 PRIVATE_PROTO_HEADER = tests/proto.h
-OBJ_FILES = \
-               tests/generic.o \
-               tests/hive.o \
-               tests/diff.o \
-               tests/registry.o
+
+torture_registry_OBJ_FILES = $(addprefix lib/registry/tests/, generic.o hive.o diff.o registry.o)
 
 [PYTHON::swig_registry]
 PUBLIC_DEPENDENCIES = registry
 SWIG_FILE = registry.i
 
+swig_registry_OBJ_FILES = lib/registry/registry_wrap.o
index 2d129c5f8ce795504f186817d13559649da212e0..d33b38cab0ba90f328cb6c6b974f0124b0678212 100644 (file)
@@ -2,7 +2,8 @@
 # Start SUBSYSTEM LIBSAMBA3
 [SUBSYSTEM::SMBPASSWD]
 PRIVATE_PROTO_HEADER = samba3_smbpasswd_proto.h
-OBJ_FILES = smbpasswd.o
 PRIVATE_DEPENDENCIES = CHARSET LIBSAMBA-UTIL
 # End SUBSYSTEM LIBSAMBA3
 ################################################
+
+SMBPASSWD_OBJ_FILES = lib/samba3/smbpasswd.o
index 777882f6e06930540cd95f14eaf542f9824a9200..240019017545e9daf352e99d442377230bc929ca 100644 (file)
@@ -2,44 +2,41 @@
 # Start SUBSYSTEM LIBNETIF
 [SUBSYSTEM::LIBNETIF]
 PRIVATE_PROTO_HEADER = netif_proto.h
-OBJ_FILES = \
-               interface.o \
-               netif.o
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBREPLACE_NETWORK
 # End SUBSYSTEM LIBNETIF
 ##############################
 
+LIBNETIF_OBJ_FILES = $(addprefix lib/socket/, interface.o netif.o)
+
 ################################################
 # Start MODULE socket_ip
 [MODULE::socket_ip]
 SUBSYSTEM = samba-socket
 OUTPUT_TYPE = MERGED_OBJ
-OBJ_FILES = \
-               socket_ip.o
 PRIVATE_DEPENDENCIES = LIBSAMBA-ERRORS LIBREPLACE_NETWORK
 # End MODULE socket_ip
 ################################################
 
+socket_ip_OBJ_FILES = lib/socket/socket_ip.o
+
 ################################################
 # Start MODULE socket_unix
 [MODULE::socket_unix]
 SUBSYSTEM = samba-socket
 OUTPUT_TYPE = MERGED_OBJ
-OBJ_FILES = \
-               socket_unix.o
 PRIVATE_DEPENDENCIES = LIBREPLACE_NETWORK
 # End MODULE socket_unix
 ################################################
 
+socket_unix_OBJ_FILES = lib/socket/socket_unix.o
+
 ################################################
 # Start SUBSYSTEM SOCKET
 [SUBSYSTEM::samba-socket]
-OBJ_FILES = \
-               socket.o \
-               access.o \
-               connect_multi.o \
-               connect.o
 PUBLIC_DEPENDENCIES = LIBTALLOC
 PRIVATE_DEPENDENCIES = SOCKET_WRAPPER LIBCLI_COMPOSITE LIBCLI_RESOLVE
 # End SUBSYSTEM SOCKET
 ################################################
+
+samba-socket_OBJ_FILES = $(addprefix lib/socket/, socket.o access.o connect_multi.o connect.o)
+
index 902692d9bed08f9a33a8d90a4b6eaad889a29599..2067d988cbea5e57eca7912b3f458e23fb0f7bd3 100644 (file)
@@ -1,7 +1,8 @@
 ##############################
 # Start SUBSYSTEM SOCKET_WRAPPER
 [SUBSYSTEM::SOCKET_WRAPPER]
-OBJ_FILES = socket_wrapper.o
 PRIVATE_DEPENDENCIES = LIBREPLACE_NETWORK
 # End SUBSYSTEM SOCKET_WRAPPER
 ##############################
+
+SOCKET_WRAPPER_OBJ_FILES = lib/socket_wrapper/socket_wrapper.o
index 39e7bc739dd22537a6a5709338e84c33b17c1bc3..52c85254830d7119ac9152fd183d4be6292aeb8c 100644 (file)
@@ -1,8 +1,4 @@
-
-################################################
-# Start SUBSYSTEM LIBPACKET
 [SUBSYSTEM::LIBPACKET]
-OBJ_FILES = packet.o
 PRIVATE_DEPENDENCIES = LIBTLS
-# End SUBSYSTEM LIBPACKET
-################################################
+
+LIBPACKET_OBJ_FILES = lib/stream/packet.o
index 42f8b38815e1e6694d9e74bf24ae4737e522b2d6..84848ae77a7214e13f301b5b98197b9da4fabe77 100644 (file)
@@ -1,4 +1,7 @@
 [LIBRARY::LIBTALLOC]
 OUTPUT_TYPE = STATIC_LIBRARY
-OBJ_FILES = talloc.o
 CFLAGS = -Ilib/talloc
+
+LIBTALLOC_OBJ_FILES = lib/talloc/talloc.o
+
+MANPAGES += $(tallocdir)/talloc.3
index 76342dc8fa5a918646407fd65009f83a25a3563e..b9a8f80dda597dabffd2fde9d551a3e28f986325 100644 (file)
@@ -2,55 +2,56 @@
 # Start SUBSYSTEM LIBTDB
 [LIBRARY::LIBTDB]
 OUTPUT_TYPE = STATIC_LIBRARY
-OBJ_FILES = \
-       common/tdb.o common/dump.o common/io.o common/lock.o \
-       common/open.o common/traverse.o common/freelist.o \
-       common/error.o common/transaction.o
 CFLAGS = -Ilib/tdb/include
 #
 # End SUBSYSTEM ldb
 ################################################
 
+LIBTDB_OBJ_FILES = $(addprefix lib/tdb/common/, \
+       tdb.o dump.o io.o lock.o \
+       open.o traverse.o freelist.o \
+       error.o transaction.o)
+
 ################################################
 # Start BINARY tdbtool
 [BINARY::tdbtool]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/tdbtool.o
 PRIVATE_DEPENDENCIES = \
                LIBTDB
 # End BINARY tdbtool
 ################################################
 
+tdbtool_OBJ_FILES = lib/tdb/tools/tdbtool.o
+
 ################################################
 # Start BINARY tdbtorture
 [BINARY::tdbtorture]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/tdbtorture.o
 PRIVATE_DEPENDENCIES = \
                LIBTDB
 # End BINARY tdbtorture
 ################################################
 
+tdbtorture_OBJ_FILES = lib/tdb/tools/tdbtorture.o
+
 ################################################
 # Start BINARY tdbdump
 [BINARY::tdbdump]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/tdbdump.o
 PRIVATE_DEPENDENCIES = \
                LIBTDB
 # End BINARY tdbdump
 ################################################
 
+tdbdump_OBJ_FILES = lib/tdb/tools/tdbdump.o
+
 ################################################
 # Start BINARY tdbbackup
 [BINARY::tdbbackup]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/tdbbackup.o
 PRIVATE_DEPENDENCIES = \
                LIBTDB
 # End BINARY tdbbackup
 ################################################
+
+tdbbackup_OBJ_FILES = lib/tdb/tools/tdbbackup.o
index 23b01c120c63925b8e14c48b9b2ee594ef9508a9..2d61545b7f69aa34aca228b48c13fe165100c0fa 100644 (file)
@@ -1,3 +1,5 @@
 [PYTHON::swig_tdb]
 SWIG_FILE = tdb.i
 PUBLIC_DEPENDENCIES = LIBTDB DYNCONFIG
+
+swig_tdb_OBJ_FILES = lib/tdb/tdb_wrap.o
index eb3cde9bdf9d5709919e1633de1e7321dc8a08e2..3e05f6c30c161ee5517879e44f7ee7e982efdc49 100644 (file)
@@ -2,6 +2,7 @@
 CFLAGS = -Ilib/tdr
 PRIVATE_PROTO_HEADER = tdr_proto.h
 PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
-OBJ_FILES = tdr.o
+
+TDR_OBJ_FILES = lib/tdr/tdr.o
 
 PUBLIC_HEADERS += lib/tdr/tdr.h
index 8e8330f709ec3e807a0e84a74997818ce9eb1c0e..e2d7cd517a730e57c7eb9af1f63be859de03f709 100644 (file)
@@ -1,11 +1,5 @@
-################################################
-# Start SUBSYSTEM LIBTLS
 [SUBSYSTEM::LIBTLS]
-OBJ_FILES = \
-               tls.o \
-               tlscert.o
 PUBLIC_DEPENDENCIES = \
                LIBTALLOC GNUTLS LIBSAMBA-HOSTCONFIG samba-socket
-#
-# End SUBSYSTEM LIBTLS
-################################################
+
+LIBTLS_OBJ_FILES = lib/tls/tls.o lib/tls/tlscert.o
index 0bf069219306d47b97d524ef9b2e4f39cfd405c3..5a4b831ed5047c084f8ca15d852b67ad261dd057 100644 (file)
@@ -1,7 +1,11 @@
 [SUBSYSTEM::LIBSAMBA-UTIL]
-#VERSION = 0.0.1
-#SO_VERSION = 0
-OBJ_FILES = xfile.o \
+PUBLIC_DEPENDENCIES = \
+               LIBTALLOC LIBCRYPTO \
+               SOCKET_WRAPPER LIBREPLACE_NETWORK \
+               CHARSET EXECINFO
+
+LIBSAMBA-UTIL_OBJ_FILES = $(addprefix lib/util/, \
+       xfile.o \
                debug.o \
                fault.o \
                signal.o \
@@ -19,11 +23,7 @@ OBJ_FILES = xfile.o \
                mutex.o \
                idtree.o \
                become_daemon.o \
-               params.o
-PUBLIC_DEPENDENCIES = \
-               LIBTALLOC LIBCRYPTO \
-               SOCKET_WRAPPER LIBREPLACE_NETWORK \
-               CHARSET EXECINFO
+               params.o)
 
 PUBLIC_HEADERS += $(addprefix lib/util/, util.h \
                                 attr.h \
@@ -38,31 +38,31 @@ PUBLIC_HEADERS += $(addprefix lib/util/, util.h \
 
 [SUBSYSTEM::ASN1_UTIL]
 PRIVATE_PROTO_HEADER = asn1_proto.h
-OBJ_FILES = asn1.o
 
-# PUBLIC_HEADERS += lib/util/asn1.h
+ASN1_UTIL_OBJ_FILES = lib/util/asn1.o
 
 [SUBSYSTEM::UNIX_PRIVS]
 PRIVATE_PROTO_HEADER = unix_privs.h
-OBJ_FILES = unix_privs.o
+
+UNIX_PRIVS_OBJ_FILES = lib/util/unix_privs.o
 
 ################################################
 # Start SUBSYSTEM WRAP_XATTR
 [SUBSYSTEM::WRAP_XATTR]
-OBJ_FILES = \
-               wrap_xattr.o
 PUBLIC_DEPENDENCIES = XATTR
 #
 # End SUBSYSTEM WRAP_XATTR
 ################################################
 
+WRAP_XATTR_OBJ_FILES = lib/util/wrap_xattr.o
+
 [SUBSYSTEM::UTIL_TDB]
 PRIVATE_PROTO_HEADER = util_tdb.h
-OBJ_FILES = \
-               util_tdb.o
 PUBLIC_DEPENDENCIES = LIBTDB
 
+UTIL_TDB_OBJ_FILES = lib/util/util_tdb.o
+
 [SUBSYSTEM::UTIL_LDB]
-OBJ_FILES = \
-                       util_ldb.o
 PUBLIC_DEPENDENCIES = LIBLDB
+
+UTIL_LDB_OBJ_FILES = lib/util/util_ldb.o
index f786c71469aa9fc2516ae96d968c383e4f00155a..85fc4ab527fff4f7f17b404d34ce59614931bf1f 100644 (file)
@@ -2,15 +2,16 @@
 # Start SUBSYSTEM LIBCLI_AUTH
 [SUBSYSTEM::LIBCLI_AUTH]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = credentials.o \
-               session.o \
-               smbencrypt.o \
-               smbdes.o
 PUBLIC_DEPENDENCIES = \
                MSRPC_PARSE \
                LIBSAMBA-HOSTCONFIG
 # End SUBSYSTEM LIBCLI_AUTH
 #################################
 
+LIBCLI_AUTH_OBJ_FILES = $(addprefix libcli/auth/, \
+               credentials.o \
+               session.o \
+               smbencrypt.o \
+               smbdes.o)
 
 PUBLIC_HEADERS += libcli/auth/credentials.h
index 0c00fa274014d4300daf337290070b50286a0f11..95b45003bec8b655c109a6f6a66ff107ae018c37 100644 (file)
@@ -4,120 +4,125 @@ mkinclude security/config.mk
 mkinclude wbclient/config.mk
 
 [SUBSYSTEM::LIBSAMBA-ERRORS]
-OBJ_FILES = util/doserr.o \
-                   util/errormap.o \
-                   util/nterr.o \
 
+LIBSAMBA-ERRORS_OBJ_FILES = $(addprefix libcli/util/, doserr.o errormap.o nterr.o)
 
 PUBLIC_HEADERS += $(addprefix libcli/, util/error.h util/ntstatus.h util/doserr.h util/werror.h)
 
 [SUBSYSTEM::LIBCLI_LSA]
 PRIVATE_PROTO_HEADER = util/clilsa.h
-OBJ_FILES = util/clilsa.o
 PUBLIC_DEPENDENCIES = RPC_NDR_LSA
 PRIVATE_DEPENDENCIES = LIBSECURITY
 
+LIBCLI_LSA_OBJ_FILES = libcli/util/clilsa.o
+
 [SUBSYSTEM::LIBCLI_COMPOSITE]
 PRIVATE_PROTO_HEADER = composite/proto.h
-OBJ_FILES = \
-       composite/composite.o
 PUBLIC_DEPENDENCIES = LIBEVENTS
 
+LIBCLI_COMPOSITE_OBJ_FILES = libcli/composite/composite.o
+
 [SUBSYSTEM::LIBCLI_SMB_COMPOSITE]
 PRIVATE_PROTO_HEADER = smb_composite/proto.h
-OBJ_FILES = \
-       smb_composite/loadfile.o \
-       smb_composite/savefile.o \
-       smb_composite/connect.o \
-       smb_composite/sesssetup.o \
-       smb_composite/fetchfile.o \
-       smb_composite/appendacl.o \
-       smb_composite/fsinfo.o 
 PUBLIC_DEPENDENCIES = LIBCLI_COMPOSITE CREDENTIALS gensec LIBCLI_RESOLVE
 
+LIBCLI_SMB_COMPOSITE_OBJ_FILES = $(addprefix libcli/smb_composite/, \
+       loadfile.o \
+       savefile.o \
+       connect.o \
+       sesssetup.o \
+       fetchfile.o \
+       appendacl.o \
+       fsinfo.o)
+
+
 [SUBSYSTEM::NDR_NBT_BUF]
 PRIVATE_PROTO_HEADER = nbt/nbtname.h
-OBJ_FILES = nbt/nbtname.o
+
+NDR_NBT_BUF_OBJ_FILES = libcli/nbt/nbtname.o
 
 [SUBSYSTEM::LIBCLI_NBT]
-#VERSION = 0.0.1
-#SO_VERSION = 0
 PRIVATE_PROTO_HEADER = nbt/nbt_proto.h
-OBJ_FILES = \
-       nbt/nbtsocket.o \
-       nbt/namequery.o \
-       nbt/nameregister.o \
-       nbt/namerefresh.o \
-       nbt/namerelease.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT LIBCLI_COMPOSITE LIBEVENTS \
        NDR_SECURITY samba-socket LIBSAMBA-UTIL
 
+LIBCLI_NBT_OBJ_FILES = $(addprefix libcli/nbt/, \
+       nbtsocket.o \
+       namequery.o \
+       nameregister.o \
+       namerefresh.o \
+       namerelease.o)
+
 [PYTHON::python_libcli_nbt]
 SWIG_FILE = swig/libcli_nbt.i
 PUBLIC_DEPENDENCIES = LIBCLI_NBT DYNCONFIG LIBSAMBA-HOSTCONFIG
 
+python_libcli_nbt_OBJ_FILES = libcli/swig/libcli_nbt_wrap.o
+
 [PYTHON::python_libcli_smb]
 SWIG_FILE = swig/libcli_smb.i
 PUBLIC_DEPENDENCIES = LIBCLI_SMB DYNCONFIG LIBSAMBA-HOSTCONFIG
 
+python_libcli_smb_OBJ_FILES = libcli/swig/libcli_smb_wrap.o
+
 [SUBSYSTEM::LIBCLI_DGRAM]
-OBJ_FILES = \
-       dgram/dgramsocket.o \
-       dgram/mailslot.o \
-       dgram/netlogon.o \
-       dgram/ntlogon.o \
-       dgram/browse.o
 PUBLIC_DEPENDENCIES = LIBCLI_NBT LIBNDR LIBCLI_RESOLVE
 
+LIBCLI_DGRAM_OBJ_FILES = $(addprefix libcli/dgram/, \
+       dgramsocket.o \
+       mailslot.o \
+       netlogon.o \
+       ntlogon.o \
+       browse.o)
+
 [SUBSYSTEM::LIBCLI_CLDAP]
-OBJ_FILES = cldap/cldap.o
 PUBLIC_DEPENDENCIES = LIBCLI_LDAP
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBLDB
 
+LIBCLI_CLDAP_OBJ_FILES = libcli/cldap/cldap.o
 # PUBLIC_HEADERS += libcli/cldap/cldap.h
 
 [SUBSYSTEM::LIBCLI_WREPL]
 PRIVATE_PROTO_HEADER = wrepl/winsrepl_proto.h
-OBJ_FILES = \
-       wrepl/winsrepl.o
 PUBLIC_DEPENDENCIES = NDR_WINSREPL samba-socket LIBCLI_RESOLVE LIBEVENTS \
                                          LIBPACKET LIBNDR
 
+LIBCLI_WREPL_OBJ_FILES = libcli/wrepl/winsrepl.o
+
 [SUBSYSTEM::LIBCLI_RESOLVE]
 PRIVATE_PROTO_HEADER = resolve/proto.h
-OBJ_FILES = \
-       resolve/resolve.o
 PUBLIC_DEPENDENCIES = NDR_NBT
 
+LIBCLI_RESOLVE_OBJ_FILES = libcli/resolve/resolve.o
+
 [SUBSYSTEM::LP_RESOLVE]
 PRIVATE_PROTO_HEADER = resolve/lp_proto.h
-OBJ_FILES = \
-       resolve/bcast.o \
-       resolve/nbtlist.o \
-       resolve/wins.o \
-       resolve/host.o \
-       resolve/resolve_lp.o
 PRIVATE_DEPENDENCIES = LIBCLI_NBT LIBSAMBA-HOSTCONFIG LIBNETIF 
 
+LP_RESOLVE_OBJ_FILES = $(addprefix libcli/resolve/, \
+                                         bcast.o nbtlist.o wins.o \
+                                         host.o resolve_lp.o)
+
 [SUBSYSTEM::LIBCLI_FINDDCS]
 PRIVATE_PROTO_HEADER = finddcs.h
-OBJ_FILES = \
-       finddcs.o
 PUBLIC_DEPENDENCIES = LIBCLI_NBT MESSAGING
 
+LIBCLI_FINDDCS_OBJ_FILES = libcli/finddcs.o
+
 [SUBSYSTEM::LIBCLI_SMB]
 PRIVATE_PROTO_HEADER = libcli_proto.h
-OBJ_FILES = clireadwrite.o \
+PUBLIC_DEPENDENCIES = LIBCLI_RAW LIBSAMBA-ERRORS LIBCLI_AUTH \
+       LIBCLI_SMB_COMPOSITE LIBCLI_NBT LIBSECURITY LIBCLI_RESOLVE \
+       LIBCLI_DGRAM LIBCLI_SMB2 LIBCLI_FINDDCS samba-socket
+
+LIBCLI_SMB_OBJ_FILES = $(addprefix libcli/, \
+               clireadwrite.o \
                cliconnect.o \
                clifile.o \
                clilist.o \
                clitrans2.o \
                climessage.o \
-               clideltree.o
-PUBLIC_DEPENDENCIES = LIBCLI_RAW LIBSAMBA-ERRORS LIBCLI_AUTH \
-       LIBCLI_SMB_COMPOSITE LIBCLI_NBT LIBSECURITY LIBCLI_RESOLVE \
-       LIBCLI_DGRAM LIBCLI_SMB2 LIBCLI_FINDDCS samba-socket
-
+               clideltree.o)
 
 # PUBLIC_HEADERS += libcli/libcli.h
 
@@ -126,28 +131,11 @@ PRIVATE_PROTO_HEADER = raw/raw_proto.h
 PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE LP_RESOLVE gensec LIBCLI_RESOLVE LIBSECURITY LIBNDR
 #LDFLAGS = $(LIBCLI_SMB_COMPOSITE_OUTPUT)
 PUBLIC_DEPENDENCIES = samba-socket LIBPACKET gensec LIBCRYPTO CREDENTIALS 
-OBJ_FILES = raw/rawfile.o \
-               raw/smb_signing.o \
-               raw/clisocket.o \
-               raw/clitransport.o \
-               raw/clisession.o \
-               raw/clitree.o \
-               raw/clierror.o \
-               raw/rawrequest.o \
-               raw/rawreadwrite.o \
-               raw/rawsearch.o \
-               raw/rawsetfileinfo.o \
-               raw/raweas.o \
-               raw/rawtrans.o \
-               raw/clioplock.o \
-               raw/rawnegotiate.o \
-               raw/rawfsinfo.o \
-               raw/rawfileinfo.o \
-               raw/rawnotify.o \
-               raw/rawioctl.o \
-               raw/rawacl.o \
-               raw/rawdate.o \
-               raw/rawlpq.o \
-               raw/rawshadow.o
+
+LIBCLI_RAW_OBJ_FILES = $(addprefix libcli/raw/, rawfile.o smb_signing.o clisocket.o \
+                                         clitransport.o clisession.o clitree.o clierror.o rawrequest.o \
+                                         rawreadwrite.o rawsearch.o rawsetfileinfo.o raweas.o rawtrans.o \
+                                         clioplock.o rawnegotiate.o rawfsinfo.o rawfileinfo.o rawnotify.o \
+                                         rawioctl.o rawacl.o rawdate.o rawlpq.o rawshadow.o)
 
 mkinclude smb2/config.mk
index 0c5236c138211abef10daf1752fdcffed535b8c6..33e32c7417ea99f07c9a14ee2653b0ff1581abc5 100644 (file)
@@ -1,17 +1,17 @@
 [SUBSYSTEM::LIBCLI_LDAP]
 PRIVATE_PROTO_HEADER = ldap_proto.h
-OBJ_FILES = ldap.o \
-               ldap_client.o \
-               ldap_bind.o \
-               ldap_msg.o \
-               ldap_ildap.o \
-               ldap_controls.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBEVENTS LIBPACKET 
 PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \
                                           LDAP_ENCODE LIBNDR LP_RESOLVE gensec
 
+LIBCLI_LDAP_OBJ_FILES = $(addprefix libcli/ldap/, \
+                                          ldap.o ldap_client.o ldap_bind.o \
+                                          ldap_msg.o ldap_ildap.o ldap_controls.o)
+
+
 PUBLIC_HEADERS += libcli/ldap/ldap.h libcli/ldap/ldap_ndr.h
 
 [SUBSYSTEM::LDAP_ENCODE]
-OBJ_FILES = ldap_ndr.o
 # FIXME PRIVATE_DEPENDENCIES = LIBLDB
+
+LDAP_ENCODE_OBJ_FILES = libcli/ldap/ldap_ndr.o
index 8c66df0325ff48a0486c9de7cf2596a70346ba82..fde065aa347da496e23b3bbb2b7da0bcf8b5d6d6 100644 (file)
@@ -1,13 +1,14 @@
 [SUBSYSTEM::LIBSECURITY]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = security_token.o \
-               security_descriptor.o \
-               dom_sid.o \
-               access_check.o \
-               privilege.o \
-               sddl.o
 PUBLIC_DEPENDENCIES = NDR_MISC LIBNDR
 
+LIBSECURITY_OBJ_FILES = $(addprefix libcli/security/, \
+                                          security_token.o security_descriptor.o \
+                                          dom_sid.o access_check.o privilege.o sddl.o)
+
+
 [PYTHON::swig_security]
 SWIG_FILE = security.i
 PRIVATE_DEPENDENCIES = LIBSECURITY
+
+swig_security_OBJ_FILES = libcli/security/security_wrap.o
index ab079fefdebff2ccbe9ecd345431160036163e94..e95997db54980b4cb1f95a8ee60a8a43bc6c4d7c 100644 (file)
@@ -1,25 +1,10 @@
 [SUBSYSTEM::LIBCLI_SMB2]
 PRIVATE_PROTO_HEADER = smb2_proto.h
-OBJ_FILES = \
-       transport.o \
-       request.o \
-       negprot.o \
-       session.o \
-       tcon.o \
-       create.o \
-       close.o \
-       connect.o \
-       getinfo.o \
-       write.o \
-       read.o \
-       setinfo.o \
-       find.o \
-       ioctl.o \
-       logoff.o \
-       tdis.o \
-       flush.o \
-       lock.o \
-       notify.o \
-       cancel.o \
-       keepalive.o
 PUBLIC_DEPENDENCIES = LIBCLI_RAW LIBPACKET gensec
+
+LIBCLI_SMB2_OBJ_FILES = $(addprefix libcli/smb2/, \
+       transport.o request.o negprot.o session.o tcon.o \
+       create.o close.o connect.o getinfo.o write.o read.o \
+       setinfo.o find.o ioctl.o logoff.o tdis.o flush.o \
+       lock.o notify.o cancel.o keepalive.o)
+
index 9384a172ff879bb7ef0233a6d4fa819bb066b8a8..94e30d44f11a70dcfd7b79e4c50b1d81a14d0b8d 100644 (file)
@@ -1,4 +1,5 @@
 [SUBSYSTEM::LIBWBCLIENT]
-OBJ_FILES = wbclient.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBEVENTS
 PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING
+
+LIBWBCLIENT_OBJ_FILES = libcli/wbclient/wbclient.o
index 231d67cf35f4cfba19c6b63d30c501db07de8320..243fc1813a0da5206363fc93c28cc421ec134afb 100644 (file)
@@ -1,38 +1,16 @@
 [SUBSYSTEM::LIBSAMBA-NET]
 PRIVATE_PROTO_HEADER = libnet_proto.h
-PRIVATE_DEPENDENCIES = PROVISION
-OBJ_FILES = \
-               libnet.o \
-               libnet_passwd.o \
-               libnet_time.o \
-               libnet_rpc.o \
-               libnet_join.o \
-               libnet_site.o \
-               libnet_become_dc.o \
-               libnet_unbecome_dc.o \
-               libnet_vampire.o \
-               libnet_samsync.o \
-               libnet_samdump.o \
-               libnet_samdump_keytab.o \
-               libnet_samsync_ldb.o \
-               libnet_user.o \
-               libnet_group.o \
-               libnet_share.o \
-               libnet_lookup.o \
-               libnet_domain.o \
-               userinfo.o \
-               groupinfo.o \
-               userman.o \
-               groupman.o \
-               prereq_domain.o
-PUBLIC_DEPENDENCIES = CREDENTIALS dcerpc dcerpc_samr RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI LIBCLI_COMPOSITE LIBCLI_RESOLVE LIBCLI_FINDDCS LIBCLI_CLDAP LIBCLI_FINDDCS gensec_schannel LIBCLI_AUTH LIBNDR SMBPASSWD
-
-#PUBLIC_HEADERS += $(addprefix libnet/, libnet.h libnet_join.h libnet_lookup.h libnet_passwd.h \
-#                               libnet_rpc.h libnet_share.h libnet_time.h \
-#                               libnet_user.h libnet_site.h libnet_vampire.h \
-#                               userinfo.h userman.h)
+PUBLIC_DEPENDENCIES = CREDENTIALS dcerpc dcerpc_samr RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI LIBCLI_COMPOSITE LIBCLI_RESOLVE LIBCLI_FINDDCS LIBCLI_CLDAP LIBCLI_FINDDCS gensec_schannel LIBCLI_AUTH LIBNDR SMBPASSWD PROVISION
 
+LIBSAMBA-NET_OBJ_FILES = $(addprefix libnet/, \
+       libnet.o libnet_passwd.o libnet_time.o libnet_rpc.o \
+       libnet_join.o libnet_site.o libnet_become_dc.o libnet_unbecome_dc.o \
+       libnet_vampire.o libnet_samdump.o libnet_samdump_keytab.o \
+       libnet_samsync_ldb.o libnet_user.o libnet_group.o libnet_share.o \
+       libnet_lookup.o libnet_domain.o userinfo.o groupinfo.o userman.o \
+       groupman.o prereq_domain.o libnet_samsync.o)
 
 [PYTHON::python_net]
-PRIVATE_DEPENDENCIES = LIBSAMBA-NET LIBPYTHON
-OBJ_FILES = py_net.o
+PRIVATE_DEPENDENCIES = LIBSAMBA-NET
+
+python_net_OBJ_FILES = libnet/py_net.o
index d1605bc17d45d9cbe82c3d1036c484e13a7986f9..c966898ceea03a7ae5c3ac57a0a5823a07fbb324 100644 (file)
@@ -28,20 +28,17 @@ struct libnet_context *libnet_context_init(struct event_context *ev,
 {
        struct libnet_context *ctx;
 
+       /* We require an event context here */
+       if (!ev) {
+               return NULL;
+       }
+
        /* create brand new libnet context */ 
        ctx = talloc(ev, struct libnet_context);
        if (!ctx) {
                return NULL;
        }
 
-       /* events */
-       if (ev == NULL) {
-               ev = event_context_find(ctx);
-               if (ev == NULL) {
-                       talloc_free(ctx);
-                       return NULL;
-               }
-       }
        ctx->event_ctx = ev;
        ctx->lp_ctx = lp_ctx;
 
index 9d32088fe620600acee9f169ecf620c40f30e64b..1cc63a3fb0cbe8404c92be131d0db2985675252d 100644 (file)
@@ -586,6 +586,8 @@ NTSTATUS libnet_Vampire(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
+       s->lp_ctx = ctx->lp_ctx;
+
        join = talloc_zero(s, struct libnet_JoinDomain);
        if (!join) {
                return NT_STATUS_NO_MEMORY;
index 2fcbc5d156cbe67d7741ef26a2db73ed0ae85c72..cf81d8070dc239622a995b25339d8c1ee5611bd8 100644 (file)
 #include "libnet.h"
 #include "param/param.h"
 #include "libcli/security/security.h"
+#include "lib/events/events.h"
 
-struct libnet_context *py_net_ctx(PyObject *obj)
+struct libnet_context *py_net_ctx(PyObject *obj, struct event_context *ev)
 {
        /* FIXME: Use obj */
-       return libnet_context_init(NULL, global_loadparm);
+       return libnet_context_init(ev, global_loadparm);
 }
 
 static PyObject *py_net_join(PyObject *cls, PyObject *args, PyObject *kwargs)
@@ -35,6 +36,7 @@ static PyObject *py_net_join(PyObject *cls, PyObject *args, PyObject *kwargs)
        NTSTATUS status;
        PyObject *result;
        TALLOC_CTX *mem_ctx;
+       struct event_context *ev;
        struct libnet_context *libnet_ctx;
        const char *kwnames[] = { "domain_name", "netbios_name", "join_type", "level", NULL };
 
@@ -43,9 +45,12 @@ static PyObject *py_net_join(PyObject *cls, PyObject *args, PyObject *kwargs)
                                         &r.in.join_type, &r.in.level))
                return NULL;
 
-       mem_ctx = talloc_new(NULL);
+       /* FIXME: we really need to get a context from the caller or we may end
+        * up with 2 event contexts */
+       ev = event_context_init(NULL);
+       mem_ctx = talloc_new(ev);
 
-       libnet_ctx = py_net_ctx(cls);
+       libnet_ctx = py_net_ctx(cls, ev);
 
        status = libnet_Join(libnet_ctx, mem_ctx, &r);
        if (NT_STATUS_IS_ERR(status)) {
index 0a265c7004101d6997adfba279a8200fb665a78b..92409da20ef02e16a9baa4ad0badf0b7de978e21 100644 (file)
@@ -1,17 +1,16 @@
 ################################################
 # Start SUBSYSTEM LIBNDR
 [LIBRARY::LIBNDR]
-VERSION = 0.0.1
-SO_VERSION = 0
-PC_FILE = ndr.pc
 PRIVATE_PROTO_HEADER = ndr/libndr_proto.h
-OBJ_FILES = \
-               ndr/ndr.o \
-               ndr/ndr_basic.o \
-               ndr/ndr_string.o \
-               ndr/uuid.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC LIBSAMBA-UTIL CHARSET \
                                          LIBSAMBA-HOSTCONFIG
+
+LIBNDR_OBJ_FILES = $(addprefix librpc/ndr/, ndr.o ndr_basic.o ndr_string.o uuid.o)
+
+PC_FILES += librpc/ndr.pc
+LIBNDR_VERSION = 0.0.1
+LIBNDR_SOVERSION = 0
+
 # End SUBSYSTEM LIBNDR
 ################################################
 
@@ -21,8 +20,6 @@ PUBLIC_HEADERS += librpc/ndr/libndr.h
 # Start BINARY ndrdump
 [BINARY::ndrdump]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               tools/ndrdump.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                LIBSAMBA-UTIL \
@@ -34,258 +31,317 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY ndrdump
 #################################
 
+ndrdump_OBJ_FILES = librpc/tools/ndrdump.o
+
 MANPAGES += librpc/tools/ndrdump.1
 
 ################################################
 # Start SUBSYSTEM NDR_COMPRESSION
 [SUBSYSTEM::NDR_COMPRESSION]
 PRIVATE_PROTO_HEADER = ndr/ndr_compression.h
-OBJ_FILES = \
-               ndr/ndr_compression.o
 PUBLIC_DEPENDENCIES = LIBCOMPRESSION LIBSAMBA-ERRORS LIBNDR
 # End SUBSYSTEM NDR_COMPRESSION
 ################################################
 
+NDR_COMPRESSION_OBJ_FILES = librpc/ndr/ndr_compression.o
+
 [SUBSYSTEM::NDR_SECURITY]
-OBJ_FILES = gen_ndr/ndr_security.o ndr/ndr_sec_helper.o 
 PUBLIC_DEPENDENCIES = NDR_MISC LIBSECURITY
 
+NDR_SECURITY_OBJ_FILES = librpc/gen_ndr/ndr_security.o librpc/ndr/ndr_sec_helper.o 
+
 PUBLIC_HEADERS += librpc/gen_ndr/security.h
 
 [SUBSYSTEM::NDR_AUDIOSRV]
-OBJ_FILES = gen_ndr/ndr_audiosrv.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_AUDIOSRV_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv.o
+
 [SUBSYSTEM::NDR_DNSSERVER]
-OBJ_FILES = gen_ndr/ndr_dnsserver.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_DNSSERVER_OBJ_FILES = librpc/gen_ndr/ndr_dnsserver.o
+
 [SUBSYSTEM::NDR_WINSTATION]
-OBJ_FILES = gen_ndr/ndr_winstation.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_WINSTATION_OBJ_FILES = librpc/gen_ndr/ndr_winstation.o
+
 [SUBSYSTEM::NDR_ECHO]
-OBJ_FILES = gen_ndr/ndr_echo.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_ECHO_OBJ_FILES = librpc/gen_ndr/ndr_echo.o
+
 [SUBSYSTEM::NDR_IRPC]
-OBJ_FILES = gen_ndr/ndr_irpc.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_NBT
 
+NDR_IRPC_OBJ_FILES = librpc/gen_ndr/ndr_irpc.o
+
 [SUBSYSTEM::NDR_DSBACKUP]
-OBJ_FILES = gen_ndr/ndr_dsbackup.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_DSBACKUP_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup.o
+
 [SUBSYSTEM::NDR_EFS]
-OBJ_FILES = gen_ndr/ndr_efs.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
+NDR_EFS_OBJ_FILES = librpc/gen_ndr/ndr_efs.o
+
 [SUBSYSTEM::NDR_MISC]
-OBJ_FILES = gen_ndr/ndr_misc.o ndr/ndr_misc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_MISC_OBJ_FILES = librpc/gen_ndr/ndr_misc.o librpc/ndr/ndr_misc.o
+
 PUBLIC_HEADERS += librpc/gen_ndr/misc.h librpc/gen_ndr/ndr_misc.h
 
 [SUBSYSTEM::NDR_ROT]
-OBJ_FILES = gen_ndr/ndr_rot.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC
 
+NDR_ROT_OBJ_FILES = librpc/gen_ndr/ndr_rot.o
+
 [SUBSYSTEM::NDR_LSA]
-OBJ_FILES = gen_ndr/ndr_lsa.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
+NDR_LSA_OBJ_FILES = librpc/gen_ndr/ndr_lsa.o
+
 PUBLIC_HEADERS += librpc/gen_ndr/lsa.h
 
 [SUBSYSTEM::NDR_DFS]
-OBJ_FILES = gen_ndr/ndr_dfs.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+NDR_DFS_OBJ_FILES = librpc/gen_ndr/ndr_dfs.o
+
 [SUBSYSTEM::NDR_FRSRPC]
-OBJ_FILES = gen_ndr/ndr_frsrpc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_FRSRPC_OBJ_FILES = librpc/gen_ndr/ndr_frsrpc.o
+
 [SUBSYSTEM::NDR_FRSAPI]
-OBJ_FILES = gen_ndr/ndr_frsapi.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_FRSAPI_OBJ_FILES = librpc/gen_ndr/ndr_frsapi.o
+
 [SUBSYSTEM::NDR_DRSUAPI]
-OBJ_FILES = gen_ndr/ndr_drsuapi.o ndr/ndr_drsuapi.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_SAMR ASN1_UTIL
 
+NDR_DRSUAPI_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi.o librpc/ndr/ndr_drsuapi.o
+
 [SUBSYSTEM::NDR_DRSBLOBS]
-OBJ_FILES = gen_ndr/ndr_drsblobs.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_DRSUAPI
 
+NDR_DRSBLOBS_OBJ_FILES = librpc/gen_ndr/ndr_drsblobs.o
+
 [SUBSYSTEM::NDR_SASL_HELPERS]
-OBJ_FILES = gen_ndr/ndr_sasl_helpers.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_SASL_HELPERS_OBJ_FILES = librpc/gen_ndr/ndr_sasl_helpers.o
+
 [SUBSYSTEM::NDR_POLICYAGENT]
-OBJ_FILES = gen_ndr/ndr_policyagent.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_POLICYAGENT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent.o
+
 [SUBSYSTEM::NDR_UNIXINFO]
-OBJ_FILES = gen_ndr/ndr_unixinfo.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
+NDR_UNIXINFO_OBJ_FILES = librpc/gen_ndr/ndr_unixinfo.o
+
 [SUBSYSTEM::NDR_SAMR]
-OBJ_FILES = gen_ndr/ndr_samr.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_LSA NDR_SECURITY
 
+NDR_SAMR_OBJ_FILES = librpc/gen_ndr/ndr_samr.o
+
 PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/ndr_samr_c.h)
 
 [SUBSYSTEM::NDR_NFS4ACL]
-OBJ_FILES = gen_ndr/ndr_nfs4acl.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_SECURITY
 
+NDR_NFS4ACL_OBJ_FILES = librpc/gen_ndr/ndr_nfs4acl.o
+
 [SUBSYSTEM::NDR_SPOOLSS]
-OBJ_FILES = gen_ndr/ndr_spoolss.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SPOOLSS_BUF NDR_SECURITY
 
+NDR_SPOOLSS_OBJ_FILES = librpc/gen_ndr/ndr_spoolss.o
+
 [SUBSYSTEM::NDR_SPOOLSS_BUF]
 PRIVATE_PROTO_HEADER = ndr/ndr_spoolss_buf.h
-OBJ_FILES = ndr/ndr_spoolss_buf.o
+
+NDR_SPOOLSS_BUF_OBJ_FILES = librpc/ndr/ndr_spoolss_buf.o
 
 [SUBSYSTEM::NDR_WKSSVC]
-OBJ_FILES = gen_ndr/ndr_wkssvc.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SRVSVC NDR_MISC NDR_SECURITY
 
+NDR_WKSSVC_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc.o
+
 [SUBSYSTEM::NDR_SRVSVC]
-OBJ_FILES = gen_ndr/ndr_srvsvc.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SVCCTL NDR_SECURITY
 
+NDR_SRVSVC_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc.o
+
 [SUBSYSTEM::NDR_SVCCTL]
-OBJ_FILES = gen_ndr/ndr_svcctl.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+NDR_SVCCTL_OBJ_FILES = librpc/gen_ndr/ndr_svcctl.o
+
 PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h)
 
 [SUBSYSTEM::NDR_ATSVC]
-OBJ_FILES = gen_ndr/ndr_atsvc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_ATSVC_OBJ_FILES = librpc/gen_ndr/ndr_atsvc.o
+
 PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h)
 
 [SUBSYSTEM::NDR_EVENTLOG]
-OBJ_FILES = gen_ndr/ndr_eventlog.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA
 
+NDR_EVENTLOG_OBJ_FILES = librpc/gen_ndr/ndr_eventlog.o
+
 [SUBSYSTEM::NDR_EPMAPPER]
-OBJ_FILES = gen_ndr/ndr_epmapper.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+NDR_EPMAPPER_OBJ_FILES = librpc/gen_ndr/ndr_epmapper.o
+
 [SUBSYSTEM::NDR_DBGIDL]
-OBJ_FILES = gen_ndr/ndr_dbgidl.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_DBGIDL_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl.o
+
 [SUBSYSTEM::NDR_DSSETUP]
-OBJ_FILES = gen_ndr/ndr_dssetup.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+NDR_DSSETUP_OBJ_FILES = librpc/gen_ndr/ndr_dssetup.o
+
 [SUBSYSTEM::NDR_MSGSVC]
-OBJ_FILES = gen_ndr/ndr_msgsvc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_MSGSVC_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc.o
+
 [SUBSYSTEM::NDR_WINS]
-OBJ_FILES = gen_ndr/ndr_wins.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_WINS_OBJ_FILES = librpc/gen_ndr/ndr_wins.o
+
 [SUBSYSTEM::NDR_WINREG]
-OBJ_FILES = gen_ndr/ndr_winreg.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_INITSHUTDOWN NDR_SECURITY NDR_MISC
 
+NDR_WINREG_OBJ_FILES = librpc/gen_ndr/ndr_winreg.o
+
 [SUBSYSTEM::NDR_INITSHUTDOWN]
-OBJ_FILES = gen_ndr/ndr_initshutdown.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_INITSHUTDOWN_OBJ_FILES = librpc/gen_ndr/ndr_initshutdown.o
+
 [SUBSYSTEM::NDR_MGMT]
-OBJ_FILES = gen_ndr/ndr_mgmt.o
 PUBLIC_DEPENDENCIES = LIBNDR 
 
+NDR_MGMT_OBJ_FILES = librpc/gen_ndr/ndr_mgmt.o
+
 [SUBSYSTEM::NDR_PROTECTED_STORAGE]
-OBJ_FILES = gen_ndr/ndr_protected_storage.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_PROTECTED_STORAGE_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage.o
+
 [SUBSYSTEM::NDR_ORPC]
-OBJ_FILES = gen_ndr/ndr_orpc.o ndr/ndr_orpc.o 
 PUBLIC_DEPENDENCIES = LIBNDR 
 
+NDR_ORPC_OBJ_FILES = librpc/gen_ndr/ndr_orpc.o librpc/ndr/ndr_orpc.o 
+
 [SUBSYSTEM::NDR_OXIDRESOLVER]
-OBJ_FILES = gen_ndr/ndr_oxidresolver.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC NDR_MISC
 
+NDR_OXIDRESOLVER_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver.o
+
 [SUBSYSTEM::NDR_REMACT]
-OBJ_FILES = gen_ndr/ndr_remact.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC NDR_MISC
 
+NDR_REMACT_OBJ_FILES = librpc/gen_ndr/ndr_remact.o
+
 [SUBSYSTEM::NDR_WZCSVC]
-OBJ_FILES = gen_ndr/ndr_wzcsvc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_WZCSVC_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc.o
+
 [SUBSYSTEM::NDR_BROWSER]
-OBJ_FILES = gen_ndr/ndr_browser.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_BROWSER_OBJ_FILES = librpc/gen_ndr/ndr_browser.o
+
 [SUBSYSTEM::NDR_W32TIME]
-OBJ_FILES = gen_ndr/ndr_w32time.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_W32TIME_OBJ_FILES = librpc/gen_ndr/ndr_w32time.o
+
 [SUBSYSTEM::NDR_SCERPC]
-OBJ_FILES = gen_ndr/ndr_scerpc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_SCERPC_OBJ_FILES = librpc/gen_ndr/ndr_scerpc.o
+
 [SUBSYSTEM::NDR_NTSVCS]
-OBJ_FILES = gen_ndr/ndr_ntsvcs.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_NTSVCS_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs.o
+
 [SUBSYSTEM::NDR_NETLOGON]
-OBJ_FILES = gen_ndr/ndr_netlogon.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY
 
+NDR_NETLOGON_OBJ_FILES = librpc/gen_ndr/ndr_netlogon.o
+
 PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/netlogon.h)
 
 [SUBSYSTEM::NDR_TRKWKS]
-OBJ_FILES = gen_ndr/ndr_trkwks.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_TRKWKS_OBJ_FILES = librpc/gen_ndr/ndr_trkwks.o
+
 [SUBSYSTEM::NDR_KEYSVC]
-OBJ_FILES = gen_ndr/ndr_keysvc.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_KEYSVC_OBJ_FILES = librpc/gen_ndr/ndr_keysvc.o
+
 [SUBSYSTEM::NDR_KRB5PAC]
-OBJ_FILES = gen_ndr/ndr_krb5pac.o ndr/ndr_krb5pac.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON NDR_SECURITY
 
+NDR_KRB5PAC_OBJ_FILES = librpc/gen_ndr/ndr_krb5pac.o librpc/ndr/ndr_krb5pac.o
+
 [SUBSYSTEM::NDR_XATTR]
-OBJ_FILES = gen_ndr/ndr_xattr.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
+NDR_XATTR_OBJ_FILES = librpc/gen_ndr/ndr_xattr.o
+
 [SUBSYSTEM::NDR_OPENDB]
-OBJ_FILES = gen_ndr/ndr_opendb.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_OPENDB_OBJ_FILES = librpc/gen_ndr/ndr_opendb.o
+
 [SUBSYSTEM::NDR_NOTIFY]
-OBJ_FILES = gen_ndr/ndr_notify.o
 PUBLIC_DEPENDENCIES = LIBNDR
 
+NDR_NOTIFY_OBJ_FILES = librpc/gen_ndr/ndr_notify.o
+
 [SUBSYSTEM::NDR_SCHANNEL]
-OBJ_FILES = gen_ndr/ndr_schannel.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
+NDR_SCHANNEL_OBJ_FILES = librpc/gen_ndr/ndr_schannel.o
+
 [SUBSYSTEM::NDR_NBT]
-OBJ_FILES = gen_ndr/ndr_nbt.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY
 
+NDR_NBT_OBJ_FILES = librpc/gen_ndr/ndr_nbt.o
+
 PUBLIC_HEADERS += librpc/gen_ndr/nbt.h
 
 [SUBSYSTEM::NDR_WINSREPL]
-OBJ_FILES = gen_ndr/ndr_winsrepl.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
+NDR_WINSREPL_OBJ_FILES = librpc/gen_ndr/ndr_winsrepl.o
+
 [SUBSYSTEM::NDR_WINBIND]
-OBJ_FILES = gen_ndr/ndr_winbind.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON
 
+NDR_WINBIND_OBJ_FILES = librpc/gen_ndr/ndr_winbind.o
+PUBLIC_HEADERS += librpc/gen_ndr/winbind.h
+
 librpc/idl-deps:
        ./librpc/idl-deps.pl librpc/idl/*.idl >$@
 
@@ -300,7 +356,6 @@ librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES)
        @mv librpc/gen_ndr/tables.x $@
 
 [SUBSYSTEM::NDR_TABLE]
-OBJ_FILES = ndr/ndr_table.o gen_ndr/tables.o
 PRIVATE_PROTO_HEADER = ndr/ndr_table.h
 PUBLIC_DEPENDENCIES = \
        NDR_AUDIOSRV NDR_ECHO NDR_DCERPC \
@@ -314,184 +369,211 @@ PUBLIC_DEPENDENCIES = \
        NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB \
        NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_NFS4ACL
 
+NDR_TABLE_OBJ_FILES = librpc/ndr/ndr_table.o librpc/gen_ndr/tables.o
+
 [SUBSYSTEM::RPC_NDR_ROT]
-OBJ_FILES = gen_ndr/ndr_rot_c.o
 PUBLIC_DEPENDENCIES = NDR_ROT dcerpc
 
+RPC_NDR_ROT_OBJ_FILES = librpc/gen_ndr/ndr_rot_c.o
+
 [SUBSYSTEM::RPC_NDR_AUDIOSRV]
-OBJ_FILES = gen_ndr/ndr_audiosrv_c.o
 PUBLIC_DEPENDENCIES = NDR_AUDIOSRV dcerpc
 
+RPC_NDR_AUDIOSRV_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv_c.o
+
 [SUBSYSTEM::RPC_NDR_ECHO]
-OBJ_FILES = gen_ndr/ndr_echo_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO
 
+RPC_NDR_ECHO_OBJ_FILES = librpc/gen_ndr/ndr_echo_c.o
+
 [SUBSYSTEM::RPC_NDR_DSBACKUP]
-OBJ_FILES = gen_ndr/ndr_dsbackup_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_DSBACKUP
 
+RPC_NDR_DSBACKUP_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup_c.o
+
 [SUBSYSTEM::RPC_NDR_EFS]
-OBJ_FILES = gen_ndr/ndr_efs_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_EFS
 
+RPC_NDR_EFS_OBJ_FILES = librpc/gen_ndr/ndr_efs_c.o
+
 [SUBSYSTEM::RPC_NDR_LSA]
-OBJ_FILES = gen_ndr/ndr_lsa_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_LSA
 
+RPC_NDR_LSA_OBJ_FILES = librpc/gen_ndr/ndr_lsa_c.o
+
 [SUBSYSTEM::RPC_NDR_DFS]
-OBJ_FILES = gen_ndr/ndr_dfs_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_DFS
 
+RPC_NDR_DFS_OBJ_FILES = librpc/gen_ndr/ndr_dfs_c.o
+
 [SUBSYSTEM::RPC_NDR_FRSAPI]
-OBJ_FILES = gen_ndr/ndr_frsapi_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_FRSAPI
 
+RPC_NDR_FRSAPI_OBJ_FILES = librpc/gen_ndr/ndr_frsapi_c.o
+
 [SUBSYSTEM::RPC_NDR_DRSUAPI]
-OBJ_FILES = gen_ndr/ndr_drsuapi_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI
 
+RPC_NDR_DRSUAPI_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi_c.o
+
 [SUBSYSTEM::RPC_NDR_POLICYAGENT]
-OBJ_FILES = gen_ndr/ndr_policyagent_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_POLICYAGENT
 
+RPC_NDR_POLICYAGENT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent_c.o
+
 [SUBSYSTEM::RPC_NDR_UNIXINFO]
-OBJ_FILES = gen_ndr/ndr_unixinfo_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_UNIXINFO
 
+RPC_NDR_UNIXINFO_OBJ_FILES = librpc/gen_ndr/ndr_unixinfo_c.o
+
 [LIBRARY::dcerpc_samr]
-OBJ_FILES = gen_ndr/ndr_samr_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_SAMR 
-PC_FILE = dcerpc_samr.pc
-VERSION = 0.0.1
-SO_VERSION = 0
+
+PC_FILES += librpc/dcerpc_samr.pc
+
+dcerpc_samr_VERSION = 0.0.1
+dcerpc_samr_SOVERSION = 0
+dcerpc_samr_OBJ_FILES = librpc/gen_ndr/ndr_samr_c.o
 
 [SUBSYSTEM::RPC_NDR_SPOOLSS]
-OBJ_FILES = gen_ndr/ndr_spoolss_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_SPOOLSS
 
+RPC_NDR_SPOOLSS_OBJ_FILES = librpc/gen_ndr/ndr_spoolss_c.o
+
 [SUBSYSTEM::RPC_NDR_WKSSVC]
-OBJ_FILES = gen_ndr/ndr_wkssvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_WKSSVC
 
+RPC_NDR_WKSSVC_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc_c.o
+
 [SUBSYSTEM::RPC_NDR_SRVSVC]
-OBJ_FILES = gen_ndr/ndr_srvsvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_SRVSVC
 
+RPC_NDR_SRVSVC_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc_c.o
+
 [SUBSYSTEM::RPC_NDR_SVCCTL]
-OBJ_FILES = gen_ndr/ndr_svcctl_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL
 
+RPC_NDR_SVCCTL_OBJ_FILES = librpc/gen_ndr/ndr_svcctl_c.o
+
 PUBLIC_HEADERS += librpc/gen_ndr/ndr_svcctl_c.h
 
 [LIBRARY::dcerpc_atsvc]
-OBJ_FILES = gen_ndr/ndr_atsvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC
-PC_FILE = dcerpc_atsvc.pc
-VERSION = 0.0.1
-SO_VERSION = 0
+
+dcerpc_atsvc_VERSION = 0.0.1
+dcerpc_atsvc_SOVERSION = 0
+
+dcerpc_atsvc_OBJ_FILES = librpc/gen_ndr/ndr_atsvc_c.o
+PC_FILES += librpc/dcerpc_atsvc.pc
 
 PUBLIC_HEADERS += librpc/gen_ndr/ndr_atsvc_c.h
 
 [SUBSYSTEM::RPC_NDR_EVENTLOG]
-OBJ_FILES = gen_ndr/ndr_eventlog_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_EVENTLOG
 
+RPC_NDR_EVENTLOG_OBJ_FILES = librpc/gen_ndr/ndr_eventlog_c.o
+
 [SUBSYSTEM::RPC_NDR_EPMAPPER]
-OBJ_FILES = gen_ndr/ndr_epmapper_c.o
 PUBLIC_DEPENDENCIES = NDR_EPMAPPER 
 
+RPC_NDR_EPMAPPER_OBJ_FILES = librpc/gen_ndr/ndr_epmapper_c.o
+
 [SUBSYSTEM::RPC_NDR_DBGIDL]
-OBJ_FILES = gen_ndr/ndr_dbgidl_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_DBGIDL
 
+RPC_NDR_DBGIDL_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl_c.o
+
 [SUBSYSTEM::RPC_NDR_DSSETUP]
-OBJ_FILES = gen_ndr/ndr_dssetup_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_DSSETUP
 
+RPC_NDR_DSSETUP_OBJ_FILES = librpc/gen_ndr/ndr_dssetup_c.o
+
 [SUBSYSTEM::RPC_NDR_MSGSVC]
-OBJ_FILES = gen_ndr/ndr_msgsvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_MSGSVC
 
+RPC_NDR_MSGSVC_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc_c.o
+
 [SUBSYSTEM::RPC_NDR_WINS]
-OBJ_FILES = gen_ndr/ndr_wins_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_WINS
 
+RPC_NDR_WINS_OBJ_FILES = librpc/gen_ndr/ndr_wins_c.o
+
 [SUBSYSTEM::RPC_NDR_WINREG]
-OBJ_FILES = gen_ndr/ndr_winreg_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG
 
+RPC_NDR_WINREG_OBJ_FILES = librpc/gen_ndr/ndr_winreg_c.o
+
 [SUBSYSTEM::RPC_NDR_INITSHUTDOWN]
-OBJ_FILES = gen_ndr/ndr_initshutdown_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN
 
+RPC_NDR_INITSHUTDOWN_OBJ_FILES = librpc/gen_ndr/ndr_initshutdown_c.o
+
 [SUBSYSTEM::RPC_NDR_MGMT]
-OBJ_FILES = gen_ndr/ndr_mgmt_c.o
 PRIVATE_DEPENDENCIES = NDR_MGMT
 
+RPC_NDR_MGMT_OBJ_FILES = librpc/gen_ndr/ndr_mgmt_c.o
+
 [SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
-OBJ_FILES = gen_ndr/ndr_protected_storage_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_PROTECTED_STORAGE
 
+RPC_NDR_PROTECTED_STORAGE_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage_c.o
+
 [SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
-OBJ_FILES = gen_ndr/ndr_oxidresolver_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_OXIDRESOLVER
 
+RPC_NDR_OXIDRESOLVER_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver_c.o
+
 [SUBSYSTEM::RPC_NDR_REMACT]
-OBJ_FILES = gen_ndr/ndr_remact_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_REMACT
 
+RPC_NDR_REMACT_OBJ_FILES = librpc/gen_ndr/ndr_remact_c.o
+
 [SUBSYSTEM::RPC_NDR_WZCSVC]
-OBJ_FILES = gen_ndr/ndr_wzcsvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_WZCSVC
 
+RPC_NDR_WZCSVC_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc_c.o
+
 [SUBSYSTEM::RPC_NDR_W32TIME]
-OBJ_FILES = gen_ndr/ndr_w32time_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_W32TIME
 
+RPC_NDR_W32TIME_OBJ_FILES = librpc/gen_ndr/ndr_w32time_c.o
+
 [SUBSYSTEM::RPC_NDR_SCERPC]
-OBJ_FILES = gen_ndr/ndr_scerpc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_SCERPC
 
+RPC_NDR_SCERPC_OBJ_FILES = librpc/gen_ndr/ndr_scerpc_c.o
+
 [SUBSYSTEM::RPC_NDR_NTSVCS]
-OBJ_FILES = gen_ndr/ndr_ntsvcs_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_NTSVCS
 
+RPC_NDR_NTSVCS_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs_c.o
+
 [SUBSYSTEM::RPC_NDR_NETLOGON]
-OBJ_FILES = gen_ndr/ndr_netlogon_c.o
 PUBLIC_DEPENDENCIES = NDR_NETLOGON
 
+RPC_NDR_NETLOGON_OBJ_FILES = librpc/gen_ndr/ndr_netlogon_c.o
+
 [SUBSYSTEM::RPC_NDR_TRKWKS]
-OBJ_FILES = gen_ndr/ndr_trkwks_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_TRKWKS
 
+RPC_NDR_TRKWKS_OBJ_FILES = librpc/gen_ndr/ndr_trkwks_c.o
+
 [SUBSYSTEM::RPC_NDR_KEYSVC]
-OBJ_FILES = gen_ndr/ndr_keysvc_c.o
 PUBLIC_DEPENDENCIES = dcerpc NDR_KEYSVC
 
+RPC_NDR_KEYSVC_OBJ_FILES = librpc/gen_ndr/ndr_keysvc_c.o
+
 [SUBSYSTEM::NDR_DCERPC]
-OBJ_FILES = gen_ndr/ndr_dcerpc.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+NDR_DCERPC_OBJ_FILES = librpc/gen_ndr/ndr_dcerpc.o
+
 PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/dcerpc.h gen_ndr/ndr_dcerpc.h)
 
 ################################################
 # Start SUBSYSTEM dcerpc
 [LIBRARY::dcerpc]
-VERSION = 0.0.1
-SO_VERSION = 0
-PC_FILE = dcerpc.pc
 PRIVATE_PROTO_HEADER = rpc/dcerpc_proto.h
-OBJ_FILES = \
-               rpc/dcerpc.o \
-               rpc/dcerpc_auth.o \
-               rpc/dcerpc_schannel.o \
-               rpc/dcerpc_util.o \
-               rpc/dcerpc_error.o \
-               rpc/dcerpc_smb.o \
-               rpc/dcerpc_smb2.o \
-               rpc/dcerpc_sock.o \
-               rpc/dcerpc_connect.o \
-               rpc/dcerpc_secondary.o
 PRIVATE_DEPENDENCIES = \
                samba-socket LIBCLI_RESOLVE LIBCLI_SMB LIBCLI_SMB2 \
                LIBNDR NDR_DCERPC RPC_NDR_EPMAPPER \
@@ -503,6 +585,14 @@ PUBLIC_DEPENDENCIES = CREDENTIALS
 # End SUBSYSTEM dcerpc
 ################################################
 
+PC_FILES += librpc/dcerpc.pc
+dcerpc_VERSION = 0.0.1
+dcerpc_SOVERSION = 0
+
+dcerpc_OBJ_FILES = $(addprefix librpc/rpc/, dcerpc.o dcerpc_auth.o dcerpc_schannel.o dcerpc_util.o \
+                                 dcerpc_error.o dcerpc_smb.o dcerpc_smb2.o dcerpc_sock.o dcerpc_connect.o dcerpc_secondary.o)
+
+
 PUBLIC_HEADERS += $(addprefix librpc/, rpc/dcerpc.h \
                        gen_ndr/mgmt.h gen_ndr/ndr_mgmt.h gen_ndr/ndr_mgmt_c.h \
                        gen_ndr/epmapper.h gen_ndr/ndr_epmapper.h gen_ndr/ndr_epmapper_c.h)
@@ -510,159 +600,195 @@ PUBLIC_HEADERS += $(addprefix librpc/, rpc/dcerpc.h \
 
 [MODULE::RPC_EJS_ECHO]
 INIT_FUNCTION = ejs_init_rpcecho
-OBJ_FILES = gen_ndr/ndr_echo_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_ECHO EJSRPC
 
+RPC_EJS_ECHO_OBJ_FILES = librpc/gen_ndr/ndr_echo_ejs.o
+
 [MODULE::RPC_EJS_MISC]
 INIT_FUNCTION = ejs_init_misc
-OBJ_FILES = gen_ndr/ndr_misc_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_MISC EJSRPC
 
+RPC_EJS_MISC_OBJ_FILES = librpc/gen_ndr/ndr_misc_ejs.o
+
 [MODULE::RPC_EJS_SAMR]
 INIT_FUNCTION = ejs_init_samr
-OBJ_FILES = gen_ndr/ndr_samr_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_SAMR EJSRPC RPC_EJS_LSA RPC_EJS_SECURITY RPC_EJS_MISC
 
+RPC_EJS_SAMR_OBJ_FILES = librpc/gen_ndr/ndr_samr_ejs.o
+
 [MODULE::RPC_EJS_SECURITY]
 INIT_FUNCTION = ejs_init_security
-OBJ_FILES = gen_ndr/ndr_security_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_SECURITY EJSRPC
 
+RPC_EJS_SECURITY_OBJ_FILES = librpc/gen_ndr/ndr_security_ejs.o
+
 [MODULE::RPC_EJS_LSA]
 INIT_FUNCTION = ejs_init_lsarpc
-OBJ_FILES = gen_ndr/ndr_lsa_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_LSA EJSRPC RPC_EJS_SECURITY RPC_EJS_MISC
 
+RPC_EJS_LSA_OBJ_FILES = librpc/gen_ndr/ndr_lsa_ejs.o
+
 [MODULE::RPC_EJS_DFS]
 INIT_FUNCTION = ejs_init_netdfs
-OBJ_FILES = gen_ndr/ndr_dfs_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_DFS EJSRPC
 
+RPC_EJS_DFS_OBJ_FILES = librpc/gen_ndr/ndr_dfs_ejs.o
+
 [MODULE::RPC_EJS_DRSUAPI]
 INIT_FUNCTION = ejs_init_drsuapi
-OBJ_FILES = gen_ndr/ndr_drsuapi_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_DRSUAPI EJSRPC RPC_EJS_MISC RPC_EJS_SAMR
 
+RPC_EJS_DRSUAPI_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi_ejs.o
+
 [MODULE::RPC_EJS_SPOOLSS]
 INIT_FUNCTION = ejs_init_spoolss
-OBJ_FILES = gen_ndr/ndr_spoolss_ejs.o
 SUBSYSTEM = smbcalls
 ENABLE = NO
 PRIVATE_DEPENDENCIES = dcerpc NDR_SPOOLSS EJSRPC
 
+RPC_EJS_SPOOLSS_OBJ_FILES = librpc/gen_ndr/ndr_spoolss_ejs.o
+
 [MODULE::RPC_EJS_WKSSVC]
 INIT_FUNCTION = ejs_init_wkssvc
-OBJ_FILES = gen_ndr/ndr_wkssvc_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_WKSSVC EJSRPC RPC_EJS_SRVSVC RPC_EJS_MISC
 
+RPC_EJS_WKSSVC_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc_ejs.o
+
 [MODULE::RPC_EJS_SRVSVC]
 INIT_FUNCTION = ejs_init_srvsvc
-OBJ_FILES = gen_ndr/ndr_srvsvc_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_SRVSVC EJSRPC RPC_EJS_MISC RPC_EJS_SVCCTL RPC_EJS_SECURITY
 
+RPC_EJS_SRVSVC_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc_ejs.o
+
 [MODULE::RPC_EJS_EVENTLOG]
 INIT_FUNCTION = ejs_init_eventlog
-OBJ_FILES = gen_ndr/ndr_eventlog_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_EVENTLOG EJSRPC RPC_EJS_MISC
 
+RPC_EJS_EVENTLOG_OBJ_FILES = librpc/gen_ndr/ndr_eventlog_ejs.o
+
 [MODULE::RPC_EJS_WINREG]
 INIT_FUNCTION = ejs_init_winreg
-OBJ_FILES = gen_ndr/ndr_winreg_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_WINREG EJSRPC RPC_EJS_INITSHUTDOWN \
                                          RPC_EJS_MISC RPC_EJS_SECURITY
 
+RPC_EJS_WINREG_OBJ_FILES = librpc/gen_ndr/ndr_winreg_ejs.o
+
 [MODULE::RPC_EJS_INITSHUTDOWN]
 INIT_FUNCTION = ejs_init_initshutdown
-OBJ_FILES = gen_ndr/ndr_initshutdown_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN EJSRPC
 
+RPC_EJS_INITSHUTDOWN_OBJ_FILES = librpc/gen_ndr/ndr_initshutdown_ejs.o
+
 [MODULE::RPC_EJS_NETLOGON]
 INIT_FUNCTION = ejs_init_netlogon
-OBJ_FILES = gen_ndr/ndr_netlogon_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_NETLOGON EJSRPC RPC_EJS_SAMR RPC_EJS_SECURITY RPC_EJS_MISC
 
+RPC_EJS_NETLOGON_OBJ_FILES = librpc/gen_ndr/ndr_netlogon_ejs.o
+
 [MODULE::RPC_EJS_SVCCTL]
 INIT_FUNCTION = ejs_init_svcctl
-OBJ_FILES = gen_ndr/ndr_svcctl_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_SVCCTL EJSRPC RPC_EJS_MISC
 
+RPC_EJS_SVCCTL_OBJ_FILES = librpc/gen_ndr/ndr_svcctl_ejs.o
+
 [MODULE::RPC_EJS_IRPC]
 INIT_FUNCTION = ejs_init_irpc
-OBJ_FILES = gen_ndr/ndr_irpc_ejs.o
 SUBSYSTEM = smbcalls
 PRIVATE_DEPENDENCIES = dcerpc NDR_IRPC EJSRPC
 
+RPC_EJS_IRPC_OBJ_FILES = librpc/gen_ndr/ndr_irpc_ejs.o
+
 [PYTHON::swig_dcerpc]
 SWIG_FILE = rpc/dcerpc.i
 PUBLIC_DEPENDENCIES = LIBCLI_SMB NDR_MISC LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG dcerpc_samr RPC_NDR_LSA DYNCONFIG
 
+swig_dcerpc_OBJ_FILES = librpc/rpc/dcerpc_wrap.o
+
 [PYTHON::python_echo]
-OBJ_FILES = gen_ndr/py_echo.o
-PRIVATE_DEPENDENCIES = RPC_NDR_ECHO
+PRIVATE_DEPENDENCIES = RPC_NDR_ECHO PYTALLOC
+
+python_echo_OBJ_FILES = librpc/gen_ndr/py_echo.o
 
 [PYTHON::python_winreg]
-OBJ_FILES = gen_ndr/py_winreg.o
-PRIVATE_DEPENDENCIES = RPC_NDR_WINREG python_misc
+PRIVATE_DEPENDENCIES = RPC_NDR_WINREG python_misc PYTALLOC
+
+python_winreg_OBJ_FILES = librpc/gen_ndr/py_winreg.o
 
 [PYTHON::python_dcerpc_misc]
-OBJ_FILES = gen_ndr/py_misc.o
+PRIVATE_DEPENDENCIES = PYTALLOC
+
+python_dcerpc_misc_OBJ_FILES = librpc/gen_ndr/py_misc.o
 
 [PYTHON::python_initshutdown]
-OBJ_FILES = gen_ndr/py_initshutdown.o
-PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN
+PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN PYTALLOC
+
+python_initshutdown_OBJ_FILES = librpc/gen_ndr/py_initshutdown.o
 
 [PYTHON::python_epmapper]
-OBJ_FILES = gen_ndr/py_epmapper.o
+PRIVATE_DEPENDENCIES = PYTALLOC
+
+python_epmapper_OBJ_FILES = librpc/gen_ndr/py_epmapper.o
 
 [PYTHON::python_mgmt]
-OBJ_FILES = gen_ndr/py_mgmt.o
-PRIVATE_DEPENDENCIES = dcerpc_mgmt
+PRIVATE_DEPENDENCIES = dcerpc_mgmt PYTALLOC
+
+python_mgmt_OBJ_FILES = librpc/gen_ndr/py_mgmt.o
 
 [PYTHON::python_atsvc]
-OBJ_FILES = gen_ndr/py_atsvc.o
-PRIVATE_DEPENDENCIES = dcerpc_atsvc
+PRIVATE_DEPENDENCIES = dcerpc_atsvc PYTALLOC
+
+python_atsvc_OBJ_FILES = librpc/gen_ndr/py_atsvc.o
 
 [PYTHON::python_samr]
-OBJ_FILES = gen_ndr/py_samr.o
-PRIVATE_DEPENDENCIES = dcerpc_samr
+PRIVATE_DEPENDENCIES = dcerpc_samr PYTALLOC
+
+python_samr_OBJ_FILES = librpc/gen_ndr/py_samr.o
 
 [PYTHON::python_svcctl]
-OBJ_FILES = gen_ndr/py_svcctl.o
-PRIVATE_DEPENDENCIES = RPC_NDR_SVCCTL
+PRIVATE_DEPENDENCIES = RPC_NDR_SVCCTL PYTALLOC
+
+python_svcctl_OBJ_FILES = librpc/gen_ndr/py_svcctl.o
 
 [PYTHON::python_lsa]
-OBJ_FILES = gen_ndr/py_lsa.o
-PRIVATE_DEPENDENCIES = RPC_NDR_LSA
+PRIVATE_DEPENDENCIES = RPC_NDR_LSA PYTALLOC
+
+python_lsa_OBJ_FILES = librpc/gen_ndr/py_lsa.o
 
 [PYTHON::python_wkssvc]
-OBJ_FILES = gen_ndr/py_wkssvc.o
-PRIVATE_DEPENDENCIES = RPC_NDR_WKSSVC
+PRIVATE_DEPENDENCIES = RPC_NDR_WKSSVC PYTALLOC
+
+python_wkssvc_OBJ_FILES = librpc/gen_ndr/py_wkssvc.o
 
 [PYTHON::python_dfs]
-OBJ_FILES = gen_ndr/py_dfs.o
-PRIVATE_DEPENDENCIES = RPC_NDR_DFS
+PRIVATE_DEPENDENCIES = RPC_NDR_DFS PYTALLOC
+
+python_dfs_OBJ_FILES = librpc/gen_ndr/py_dfs.o
 
 [PYTHON::python_unixinfo]
-OBJ_FILES = gen_ndr/py_unixinfo.o
-PRIVATE_DEPENDENCIES = RPC_NDR_UNIXINFO
+PRIVATE_DEPENDENCIES = RPC_NDR_UNIXINFO PYTALLOC
+
+python_unixinfo_OBJ_FILES = librpc/gen_ndr/py_unixinfo.o
 
 [PYTHON::python_drsuapi]
-OBJ_FILES = gen_ndr/py_drsuapi.o
-PRIVATE_DEPENDENCIES = RPC_NDR_DRSUAPI
+PRIVATE_DEPENDENCIES = RPC_NDR_DRSUAPI PYTALLOC
+
+python_drsuapi_OBJ_FILES = librpc/gen_ndr/py_drsuapi.o
 
 [PYTHON::python_dcerpc_security]
-OBJ_FILES = gen_ndr/py_security.o
+PRIVATE_DEPENDENCIES = PYTALLOC
+
+python_dcerpc_security_OBJ_FILES = librpc/gen_ndr/py_security.o
index b510a6e2d68f85f255fa288490b1d633f8a031e8..cb2b47d15e9e1302b57f69da62153b191c810036 100644 (file)
@@ -3,76 +3,71 @@
 #######################
 # Start SUBSYSTEM WINSDB
 [SUBSYSTEM::WINSDB]
-OBJ_FILES = \
-               wins/winsdb.o \
-               wins/wins_hook.o
 PRIVATE_PROTO_HEADER = wins/winsdb_proto.h
 PUBLIC_DEPENDENCIES = \
                LIBLDB
 # End SUBSYSTEM WINSDB
 #######################
 
+WINSDB_OBJ_FILES = $(addprefix nbt_server/wins/, winsdb.o wins_hook.o)
+
 #######################
 # Start MODULE ldb_wins_ldb
 [MODULE::ldb_wins_ldb]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_wins_ldb_module_ops
-OBJ_FILES = \
-               wins/wins_ldb.o
+INIT_FUNCTION = LDB_MODULE(wins_ldb)
 PRIVATE_DEPENDENCIES = \
                LIBNETIF LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL
 # End MODULE ldb_wins_ldb
 #######################
 
+ldb_wins_ldb_OBJ_FILES = nbt_server/wins/wins_ldb.o
+
 #######################
 # Start SUBSYSTEM NBTD_WINS
 [SUBSYSTEM::NBTD_WINS]
-OBJ_FILES = \
-               wins/winsserver.o \
-               wins/winsclient.o \
-               wins/winswack.o \
-               wins/wins_dns_proxy.o
 PRIVATE_PROTO_HEADER = wins/winsserver_proto.h
 PRIVATE_DEPENDENCIES = \
                LIBCLI_NBT WINSDB
 # End SUBSYSTEM NBTD_WINS
 #######################
 
+NBTD_WINS_OBJ_FILES = $(addprefix nbt_server/wins/, winsserver.o winsclient.o winswack.o wins_dns_proxy.o)
+
 #######################
 # Start SUBSYSTEM NBTD_DGRAM
 [SUBSYSTEM::NBTD_DGRAM]
 PRIVATE_PROTO_HEADER = dgram/proto.h
-OBJ_FILES = \
-               dgram/request.o \
-               dgram/netlogon.o \
-               dgram/ntlogon.o \
-               dgram/browse.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_DGRAM
 # End SUBSYSTEM NBTD_DGRAM
 #######################
 
+NBTD_DGRAM_OBJ_FILES = $(addprefix nbt_server/dgram/, request.o netlogon.o ntlogon.o browse.o)
+
 #######################
 # Start SUBSYSTEM NBTD
 [SUBSYSTEM::NBT_SERVER]
-OBJ_FILES = \
+PRIVATE_PROTO_HEADER = nbt_server_proto.h
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_NBT NBTD_WINS NBTD_DGRAM 
+# End SUBSYSTEM NBTD
+#######################
+
+NBT_SERVER_OBJ_FILES = $(addprefix nbt_server/, \
                interfaces.o \
                register.o \
                query.o \
                nodestatus.o \
                defense.o \
                packet.o \
-               irpc.o
-PRIVATE_PROTO_HEADER = nbt_server_proto.h
-PRIVATE_DEPENDENCIES = \
-               LIBCLI_NBT NBTD_WINS NBTD_DGRAM 
-# End SUBSYSTEM NBTD
-#######################
+               irpc.o)
 
 [MODULE::service_nbtd]
 INIT_FUNCTION = server_service_nbtd_init
 SUBSYSTEM = service
-OBJ_FILES = \
-               nbt_server.o
 PRIVATE_DEPENDENCIES = NBT_SERVER process_model
+
+service_nbtd_OBJ_FILES = \
+               nbt_server/nbt_server.o
index a3b74128416fb413d2657a4d7ede7c10070b6f64..207b7fa53ff5d3e7f6609cd2d0ea21725683ac02 100644 (file)
@@ -4,8 +4,7 @@ case "$host_os" in
        *linux*)
                SMB_LIBRARY(nss_winbind,
                            [nsswitch/winbind_nss_linux.o],
-                           [LIBWINBIND-CLIENT],
-                           [2],[2])
+                           [LIBWINBIND-CLIENT])
        ;;
        *)
        ;;
index c7c70c141ea9d82d58e3c66759a1f72b18cb525c..a0ceff00331daca062a1c1e3253c9a4e43e51b6c 100644 (file)
@@ -1,13 +1,12 @@
 [SUBSYSTEM::LIBWINBIND-CLIENT]
-OBJ_FILES = wb_common.o
 PRIVATE_DEPENDENCIES = SOCKET_WRAPPER
 
+LIBWINBIND-CLIENT_OBJ_FILES = nsswitch/wb_common.o
+
 #################################
 # Start BINARY nsstest
 [BINARY::nsstest]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               nsstest.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-UTIL \
                LIBREPLACE_EXT \
@@ -15,12 +14,12 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY nsstest
 #################################
 
+nsstest_OBJ_FILES = nsswitch/nsstest.o
+
 #################################
 # Start BINARY wbinfo
 [BINARY::wbinfo]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               wbinfo.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-UTIL \
                LIBREPLACE_EXT \
@@ -30,3 +29,6 @@ PRIVATE_DEPENDENCIES = \
                LIBWINBIND-CLIENT
 # End BINARY nsstest
 #################################
+
+wbinfo_OBJ_FILES = \
+               nsswitch/wbinfo.o
index 4c1f46ff1707da5dff3dff4f75e4f11a241ea27a..dda4c2944476e1a672c5eba808a705423adeeb7a 100644 (file)
@@ -5,21 +5,22 @@
 [MODULE::ntptr_simple_ldb]
 INIT_FUNCTION = ntptr_simple_ldb_init
 SUBSYSTEM = ntptr
-OBJ_FILES = \
-               simple_ldb/ntptr_simple_ldb.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB NDR_SPOOLSS DCERPC_COMMON
 # End MODULE ntptr_simple_ldb
 ################################################
 
+ntptr_simple_ldb_OBJ_FILES = ntptr/simple_ldb/ntptr_simple_ldb.o
+
 ################################################
 # Start SUBSYSTEM ntptr
 [SUBSYSTEM::ntptr]
 PRIVATE_PROTO_HEADER = ntptr_proto.h
-OBJ_FILES = \
-               ntptr_base.o \
-               ntptr_interface.o
 PUBLIC_DEPENDENCIES = DCERPC_COMMON
 #
 # End SUBSYSTEM ntptr
 ################################################
+
+ntptr_OBJ_FILES = \
+               ntptr/ntptr_base.o \
+               ntptr/ntptr_interface.o
index 26e192d64bee7529802df974da0814f233601be6..0000337cb0f22d9d7f5a6de35b424c5b8105cf80 100644 (file)
@@ -71,6 +71,7 @@ NTSTATUS ntptr_register(const void *_ops)
 
 NTSTATUS ntptr_init(struct loadparm_context *lp_ctx)
 {
+       extern NTSTATUS ntptr_simple_ldb_init(void);
        init_module_fn static_init[] = { STATIC_ntptr_MODULES };
        init_module_fn *shared_init = load_samba_modules(NULL, lp_ctx, "ntptr");
 
index 3963ebcdee46f5660bf5308a9ab7e677da147ed7..c66257b73f73ba87eb036f3c7749025d90ade0a9 100644 (file)
@@ -2,17 +2,10 @@
 # Start LIBRARY ntvfs_common
 [SUBSYSTEM::ntvfs_common]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = \
-               init.o \
-               brlock.o \
-               brlock_tdb.o \
-               opendb.o \
-               opendb_tdb.o \
-               notify.o
-PUBLIC_DEPENDENCIES = \
-               NDR_OPENDB NDR_NOTIFY \
-               sys_notify sys_lease \
-               share LIBDBWRAP
+PUBLIC_DEPENDENCIES = NDR_OPENDB NDR_NOTIFY sys_notify sys_lease share LIBDBWRAP
 PRIVATE_DEPENDENCIES = brlock_ctdb opendb_ctdb
 # End LIBRARY ntvfs_common
 ################################################
+
+ntvfs_common_OBJ_FILES = $(addprefix ntvfs/common/, init.o brlock.o brlock_tdb.o opendb.o opendb_tdb.o notify.o)
+
index 2f57c787ef2c26315f24d669ded0c3edd46f8991..93cbf64d8f0b4dbed570cf5461a0717888bf8e8c 100644 (file)
@@ -9,25 +9,24 @@ mkinclude sysdep/config.mk
 [MODULE::ntvfs_cifs]
 INIT_FUNCTION = ntvfs_cifs_init 
 SUBSYSTEM = ntvfs
-OBJ_FILES = \
-               cifs/vfs_cifs.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB LIBCLI_RAW
 # End MODULE ntvfs_cifs
 ################################################
 
+ntvfs_cifs_OBJ_FILES = ntvfs/cifs/vfs_cifs.o
+
 ################################################
 # Start MODULE ntvfs_simple
 [MODULE::ntvfs_simple]
 INIT_FUNCTION = ntvfs_simple_init 
 SUBSYSTEM = ntvfs 
 PRIVATE_PROTO_HEADER = simple/proto.h
-OBJ_FILES = \
-               simple/vfs_simple.o \
-               simple/svfs_util.o
 # End MODULE ntvfs_simple
 ################################################
 
+ntvfs_simple_OBJ_FILES = $(addprefix ntvfs/simple/, vfs_simple.o svfs_util.o)
+
 ################################################
 # Start MODULE ntvfs_cifsposix
 [MODULE::ntvfs_cifsposix]
@@ -35,57 +34,50 @@ OBJ_FILES = \
 INIT_FUNCTION = ntvfs_cifs_posix_init
 SUBSYSTEM = ntvfs
 PRIVATE_PROTO_HEADER = cifs_posix_cli/proto.h
-OBJ_FILES = \
-                cifs_posix_cli/vfs_cifs_posix.o \
-                cifs_posix_cli/svfs_util.o
 # End MODULE ntvfs_cifsposix
 ################################################
 
+ntvfs_cifsposix_OBJ_FILES = \
+       $(addprefix ntvfs/cifs_posix_cli/, vfs_cifs_posix.o svfs_util.o)
+
 ################################################
 # Start MODULE ntvfs_print
 [MODULE::ntvfs_print]
 INIT_FUNCTION = ntvfs_print_init 
 SUBSYSTEM = ntvfs 
-OBJ_FILES = \
-               print/vfs_print.o
 # End MODULE ntvfs_print
 ################################################
 
+ntvfs_print_OBJ_FILES = ntvfs/print/vfs_print.o
+
 ################################################
 # Start MODULE ntvfs_ipc
 [MODULE::ntvfs_ipc]
 SUBSYSTEM = ntvfs
 INIT_FUNCTION = ntvfs_ipc_init 
 PRIVATE_PROTO_HEADER = ipc/proto.h
-OBJ_FILES = \
-               ipc/vfs_ipc.o \
-               ipc/ipc_rap.o \
-               ipc/rap_server.o
 PRIVATE_DEPENDENCIES = dcerpc_server DCERPC_COMMON
 # End MODULE ntvfs_ipc
 ################################################
 
+ntvfs_ipc_OBJ_FILES = $(addprefix ntvfs/ipc/, vfs_ipc.o ipc_rap.o rap_server.o)
 
 ################################################
 # Start MODULE ntvfs_nbench
 [MODULE::ntvfs_nbench]
 SUBSYSTEM = ntvfs
 INIT_FUNCTION = ntvfs_nbench_init 
-OBJ_FILES = \
-               nbench/vfs_nbench.o
 # End MODULE ntvfs_nbench
 ################################################
 
+ntvfs_nbench_OBJ_FILES = ntvfs/nbench/vfs_nbench.o
 
 ################################################
 # Start SUBSYSTEM NTVFS
 [SUBSYSTEM::ntvfs]
 PRIVATE_PROTO_HEADER = ntvfs_proto.h
-OBJ_FILES = \
-               ntvfs_base.o \
-               ntvfs_generic.o \
-               ntvfs_interface.o \
-               ntvfs_util.o
+
+ntvfs_OBJ_FILES = $(addprefix ntvfs/, ntvfs_base.o ntvfs_generic.o ntvfs_interface.o ntvfs_util.o)
 
 # PUBLIC_HEADERS += ntvfs/ntvfs.h
 #
index 51faa443720197350607728ab5cc3be75176cfe6..8f574fa96bb821ab594c8952fc98d7446bae75eb 100644 (file)
@@ -204,6 +204,16 @@ NTSTATUS ntvfs_init_connection(TALLOC_CTX *mem_ctx, struct share_config *scfg, e
 NTSTATUS ntvfs_init(struct loadparm_context *lp_ctx)
 {
        static bool initialized = false;
+       extern NTSTATUS ntvfs_posix_init(void);
+       extern NTSTATUS ntvfs_cifs_init(void);
+       extern NTSTATUS ntvfs_nbench_init(void);
+       extern NTSTATUS ntvfs_unixuid_init(void);
+       extern NTSTATUS ntvfs_ipc_init(void);
+       extern NTSTATUS pvfs_acl_nfs4_init(void);
+       extern NTSTATUS pvfs_acl_xattr_init(void);
+       extern NTSTATUS ntvfs_print_init(void);
+       extern NTSTATUS ntvfs_simple_init(void);
+       extern NTSTATUS ntvfs_cifs_posix_init(void);
        init_module_fn static_init[] = { STATIC_ntvfs_MODULES };
        init_module_fn *shared_init;
 
index 88048c2af7baf842b73afb0cf10f478c561f5cf9..865a0ffd4a3941d67b01eceb8af3f30aaf21edd4 100644 (file)
@@ -3,30 +3,31 @@
 [MODULE::pvfs_acl_xattr]
 INIT_FUNCTION = pvfs_acl_xattr_init 
 SUBSYSTEM = ntvfs
-OBJ_FILES = \
-               pvfs_acl_xattr.o
 PRIVATE_DEPENDENCIES = NDR_XATTR ntvfs_posix
 # End MODULE pvfs_acl_xattr
 ################################################
 
+pvfs_acl_xattr_OBJ_FILES = ntvfs/posix/pvfs_acl_xattr.o
+
 ################################################
 # Start MODULE pvfs_acl_nfs4
 [MODULE::pvfs_acl_nfs4]
 INIT_FUNCTION = pvfs_acl_nfs4_init 
 SUBSYSTEM = ntvfs
-OBJ_FILES = \
-               pvfs_acl_nfs4.o
 PRIVATE_DEPENDENCIES = NDR_NFS4ACL SAMDB ntvfs_posix
 # End MODULE pvfs_acl_nfs4
 ################################################
 
+pvfs_acl_nfs4_OBJ_FILES = ntvfs/posix/pvfs_acl_nfs4.o
+
 ################################################
 [MODULE::pvfs_aio]
 SUBSYSTEM = ntvfs
-OBJ_FILES = pvfs_aio.o
 PRIVATE_DEPENDENCIES = LIBAIO_LINUX
 ################################################
 
+pvfs_aio_OBJ_FILES = ntvfs/posix/pvfs_aio.o
+
 ################################################
 # Start MODULE ntvfs_posix
 [MODULE::ntvfs_posix]
@@ -34,7 +35,13 @@ SUBSYSTEM = ntvfs
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = ntvfs_posix_init 
 PRIVATE_PROTO_HEADER = vfs_posix_proto.h
-OBJ_FILES = \
+#PRIVATE_DEPENDENCIES = pvfs_acl_xattr pvfs_acl_nfs4
+PRIVATE_DEPENDENCIES = NDR_XATTR WRAP_XATTR BLKID ntvfs_common MESSAGING pvfs_aio \
+                                          LIBWBCLIENT
+# End MODULE ntvfs_posix
+################################################
+
+ntvfs_posix_OBJ_FILES = $(addprefix ntvfs/posix/, \
                vfs_posix.o \
                pvfs_util.o \
                pvfs_search.o \
@@ -62,8 +69,5 @@ OBJ_FILES = \
                pvfs_acl.o \
                pvfs_notify.o \
                xattr_system.o \
-               xattr_tdb.o
-#PRIVATE_DEPENDENCIES = pvfs_acl_xattr pvfs_acl_nfs4
-PRIVATE_DEPENDENCIES = NDR_XATTR WRAP_XATTR BLKID ntvfs_common MESSAGING pvfs_aio
-# End MODULE ntvfs_posix
-################################################
+               xattr_tdb.o)
+
index 048226efad14cd563bc39151048dc15532b1d851..de445bff7bb71c30015552c16cb231be5187f060 100644 (file)
@@ -3,34 +3,24 @@
 [MODULE::sys_notify_inotify]
 SUBSYSTEM = sys_notify
 INIT_FUNCTION = sys_notify_inotify_init
-OBJ_FILES = \
-               inotify.o
 # End MODULE sys_notify_inotify
 ################################################
 
+sys_notify_inotify_OBJ_FILES = ntvfs/sysdep/inotify.o
+
 ################################################
 # Start SUBSYSTEM sys_notify
 [SUBSYSTEM::sys_notify]
-OBJ_FILES = \
-               sys_notify.o
-PUBLIC_DEPENDENCIES = 
 # End SUBSYSTEM sys_notify
 ################################################
 
-################################################
-# Start MODULE sys_lease_linux
+sys_notify_OBJ_FILES = ntvfs/sysdep/sys_notify.o
+
 [MODULE::sys_lease_linux]
 SUBSYSTEM = sys_lease
-INIT_FUNCTION = sys_lease_linux_init
-OBJ_FILES = \
-               sys_lease_linux.o
-# End MODULE sys_lease_linux
-################################################
 
-################################################
-# Start SUBSYSTEM sys_lease
+sys_lease_linux_OBJ_FILES = ntvfs/sysdep/sys_lease_linux.o
+
 [SUBSYSTEM::sys_lease]
-OBJ_FILES = \
-               sys_lease.o
-# End SUBSYSTEM sys_lease
-################################################
+
+sys_lease_OBJ_FILES = ntvfs/sysdep/sys_lease.o
index 28dd27a708215fcf844d8b393c20ba2aad0a842b..b8a165aa519b087cc63a664aa8bc9f1004ad868b 100644 (file)
@@ -112,6 +112,7 @@ _PUBLIC_ NTSTATUS sys_lease_register(const struct sys_lease_ops *backend)
 _PUBLIC_ NTSTATUS sys_lease_init(void)
 {
        static bool initialized = false;
+       extern NTSTATUS sys_lease_linux_init(void);
 
        init_module_fn static_init[] = { STATIC_sys_lease_MODULES };
 
index 84ba745f5be15c3e4736ae59207c484671c37364..eb5cc3793f65bfd56a54e4c162b43e7d625f260c 100644 (file)
@@ -124,6 +124,7 @@ _PUBLIC_ NTSTATUS sys_notify_register(struct sys_notify_backend *backend)
 _PUBLIC_ NTSTATUS sys_notify_init(void)
 {
        static bool initialized = false;
+       extern NTSTATUS sys_notify_inotify_init(void);
 
        init_module_fn static_init[] = { STATIC_sys_notify_MODULES };
 
index 91976c6811bfdd48faa235d8ee94b25270f81f52..968e56bde467c4ac0e052b5a7b150193ee15dbd3 100644 (file)
@@ -3,8 +3,8 @@
 [MODULE::ntvfs_unixuid]
 INIT_FUNCTION = ntvfs_unixuid_init
 SUBSYSTEM = ntvfs
-OBJ_FILES = \
-               vfs_unixuid.o
 PRIVATE_DEPENDENCIES = SAMDB NSS_WRAPPER
 # End MODULE ntvfs_unixuid
 ################################################
+
+ntvfs_unixuid_OBJ_FILES = ntvfs/unixuid/vfs_unixuid.o
index b4182480a951922ed1906e33928a25be7fed3792..42cb6f3c1c643c88d1c8e92a57a46e920c2f0a59 100644 (file)
@@ -1,30 +1,34 @@
 [LIBRARY::LIBSAMBA-HOSTCONFIG]
-VERSION = 0.0.1
-SO_VERSION = 0
-OBJ_FILES = loadparm.o \
-                       generic.o \
-                       util.o \
-                       ../lib/version.o
-PC_FILE = samba-hostconfig.pc
 PUBLIC_DEPENDENCIES = LIBSAMBA-UTIL 
 PRIVATE_DEPENDENCIES = DYNCONFIG LIBREPLACE_EXT CHARSET
-PRIVATE_PROTO_HEADER = proto.h
+
+LIBSAMBA-HOSTCONFIG_VERSION = 0.0.1
+LIBSAMBA-HOSTCONFIG-SOVERSION = 0
+
+LIBSAMBA-HOSTCONFIG_OBJ_FILES = param/loadparm.o \
+                       param/generic.o \
+                       param/util.o \
+                       lib/version.o
 
 PUBLIC_HEADERS += param/param.h
 
+PC_FILES += param/samba-hostconfig.pc
+
 [SUBSYSTEM::PROVISION]
-OBJ_FILES = provision.o
 PRIVATE_DEPENDENCIES = LIBPYTHON
 
+PROVISION_OBJ_FILES = param/provision.o
+
 #################################
 # Start SUBSYSTEM share
 [SUBSYSTEM::share]
 PRIVATE_PROTO_HEADER = share_proto.h
-OBJ_FILES = share.o
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 # End SUBSYSTEM share
 #################################
 
+share_OBJ_FILES = param/share.o
+
 PUBLIC_HEADERS += param/share.h
 
 ################################################
@@ -32,25 +36,30 @@ PUBLIC_HEADERS += param/share.h
 [MODULE::share_classic]
 SUBSYSTEM = share
 INIT_FUNCTION = share_classic_init
-OBJ_FILES = share_classic.o 
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 # End MODULE share_classic
 ################################################
 
+share_classic_OBJ_FILES = param/share_classic.o 
+
 ################################################
 # Start MODULE share_ldb
 [MODULE::share_ldb]
 SUBSYSTEM = share
 INIT_FUNCTION = share_ldb_init
-OBJ_FILES = share_ldb.o 
 PRIVATE_DEPENDENCIES = LIBLDB LDB_WRAP
 # End MODULE share_ldb
 ################################################
 
+share_ldb_OBJ_FILES = param/share_ldb.o 
+
 [SUBSYSTEM::SECRETS]
-OBJ_FILES = secrets.o
 PRIVATE_DEPENDENCIES = LIBLDB TDB_WRAP UTIL_TDB NDR_SECURITY
 
+SECRETS_OBJ_FILES = param/secrets.o
+
 [PYTHON::param]
 SWIG_FILE = param.i
 PRIVATE_DEPENDENCIES = LIBSAMBA-HOSTCONFIG
+
+param_OBJ_FILES = param/param_wrap.o
index 70ef618b6eb6dfa89514442afa42b8677811f028..0e54acf9e429b5a4b403eab6c91a817ef7652244 100644 (file)
@@ -76,6 +76,9 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
                 settings->targetdir));
        parameters = PyDict_New();
 
+       PyDict_SetItemString(parameters, "smbconf", 
+                            PyString_FromString(lp_configfile(lp_ctx)));
+
        PyDict_SetItemString(parameters, "rootdn", 
                                                 PyString_FromString(settings->root_dn_str));
        if (settings->targetdir != NULL)
@@ -129,7 +132,6 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
        result->domaindn = talloc_strdup(mem_ctx, PyString_AsString(PyObject_GetAttrString(py_result, "domaindn")));
 
        /* FIXME paths */
-       /* FIXME samdb */
        result->lp_ctx = lp_from_py_object(PyObject_GetAttrString(py_result, "lp"));
        result->samdb = ldb_context_from_py_object(PyObject_GetAttrString(py_result, "samdb"));
 
index bc2999b03d1666204b90bee3ce98f7b4ad6442ed..51134d897037c7e076529feccca86b0afce026ed 100644 (file)
@@ -146,6 +146,8 @@ NTSTATUS share_get_context_by_name(TALLOC_CTX *mem_ctx, const char *backend_name
 */
 NTSTATUS share_init(void)
 {
+       extern NTSTATUS share_ldb_init(void);
+       extern NTSTATUS share_classic_init(void);
        init_module_fn static_init[] = { STATIC_share_MODULES };
 
        run_init_functions(static_init);
index cdc3843d287a68e036965ca4e94d94ae07ff9191..38542f5b7fd241a4ff00090f4a74a1dca7f7fbc9 100644 (file)
@@ -5,7 +5,12 @@ pidl-testcov: pidl/Makefile
        cd pidl && cover -test
 
 installpidl:: pidl/Makefile
-       $(MAKE) -C pidl install_vendor VENDORPREFIX=$(prefix)
+       $(MAKE) -C pidl install_vendor VENDORPREFIX=$(prefix) \
+                                          INSTALLVENDORLIB=$(libdir) \
+                                                                  INSTALLVENDORBIN=$(bindir) \
+                                                                  INSTALLVENDORSCRIPT=$(bindir) \
+                                                                  INSTALLVENDORMAN1DIR=$(mandir)/man1 \
+                                                                  INSTALLVENDORMAN3DIR=$(mandir)/man3
 
 ifeq ($(HAVE_PERL_EXTUTILS_MAKEMAKER),1)
 install:: installpidl
index d6d77dd0d903eac88dfffe05176e4f9c25b16104..807853fa165b6998bdb00988c5c72affc009ce31 100644 (file)
@@ -4,80 +4,78 @@
 # Start SUBSYSTEM DCERPC_COMMON
 [SUBSYSTEM::DCERPC_COMMON]
 PRIVATE_PROTO_HEADER = common/proto.h
-OBJ_FILES = \
-               common/server_info.o \
-               common/share_info.o
 #
 # End SUBSYSTEM DCERPC_COMMON
 ################################################
 
+DCERPC_COMMON_OBJ_FILES = $(addprefix rpc_server/common/, server_info.o share_info.o)
+
+PUBLIC_HEADERS += rpc_server/common/common.h
+
 ################################################
 # Start MODULE dcerpc_rpcecho
 [MODULE::dcerpc_rpcecho]
 INIT_FUNCTION = dcerpc_server_rpcecho_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               echo/rpc_echo.o
 PRIVATE_DEPENDENCIES = NDR_ECHO 
 # End MODULE dcerpc_rpcecho
 ################################################
 
+dcerpc_rpcecho_OBJ_FILES = rpc_server/echo/rpc_echo.o
+
 ################################################
 # Start MODULE dcerpc_epmapper
 [MODULE::dcerpc_epmapper]
 INIT_FUNCTION = dcerpc_server_epmapper_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               epmapper/rpc_epmapper.o
 PRIVATE_DEPENDENCIES = NDR_EPMAPPER
 # End MODULE dcerpc_epmapper
 ################################################
 
+dcerpc_epmapper_OBJ_FILES = rpc_server/epmapper/rpc_epmapper.o
+
 ################################################
 # Start MODULE dcerpc_remote
 [MODULE::dcerpc_remote]
 INIT_FUNCTION = dcerpc_server_remote_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               remote/dcesrv_remote.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB NDR_TABLE
 # End MODULE dcerpc_remote
 ################################################
 
+dcerpc_remote_OBJ_FILES = rpc_server/remote/dcesrv_remote.o
+
 ################################################
 # Start MODULE dcerpc_srvsvc
 [MODULE::dcerpc_srvsvc]
 INIT_FUNCTION = dcerpc_server_srvsvc_init
 PRIVATE_PROTO_HEADER = srvsvc/proto.h
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               srvsvc/dcesrv_srvsvc.o \
-               srvsvc/srvsvc_ntvfs.o
 PRIVATE_DEPENDENCIES = \
                DCERPC_COMMON NDR_SRVSVC share
 # End MODULE dcerpc_srvsvc
 ################################################
 
+dcerpc_srvsvc_OBJ_FILES = $(addprefix rpc_server/srvsvc/, dcesrv_srvsvc.o srvsvc_ntvfs.o)
+
 ################################################
 # Start MODULE dcerpc_wkssvc
 [MODULE::dcerpc_wkssvc]
 INIT_FUNCTION = dcerpc_server_wkssvc_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               wkssvc/dcesrv_wkssvc.o
 PRIVATE_DEPENDENCIES = \
                DCERPC_COMMON NDR_WKSSVC
 # End MODULE dcerpc_wkssvc
 ################################################
 
+dcerpc_wkssvc_OBJ_FILES = rpc_server/wkssvc/dcesrv_wkssvc.o
+
 ################################################
 # Start MODULE dcerpc_unixinfo
 [MODULE::dcerpc_unixinfo]
 INIT_FUNCTION = dcerpc_server_unixinfo_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               unixinfo/dcesrv_unixinfo.o
 PRIVATE_DEPENDENCIES = \
                DCERPC_COMMON \
                SAMDB \
@@ -87,15 +85,14 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcerpc_unixinfo
 ################################################
 
+dcerpc_unixinfo_OBJ_FILES = rpc_server/unixinfo/dcesrv_unixinfo.o
+
 ################################################
 # Start MODULE dcesrv_samr
 [MODULE::dcesrv_samr]
 INIT_FUNCTION = dcerpc_server_samr_init
 PRIVATE_PROTO_HEADER = samr/proto.h
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               samr/dcesrv_samr.o \
-               samr/samr_password.o
 PRIVATE_DEPENDENCIES = \
                SAMDB \
                DCERPC_COMMON \
@@ -103,26 +100,26 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcesrv_samr
 ################################################
 
+dcesrv_samr_OBJ_FILES = $(addprefix rpc_server/samr/, dcesrv_samr.o samr_password.o)
+
 ################################################
 # Start MODULE dcerpc_winreg
 [MODULE::dcerpc_winreg]
 INIT_FUNCTION = dcerpc_server_winreg_init
 SUBSYSTEM = dcerpc_server
 OUTPUT_TYPE = MERGED_OBJ
-OBJ_FILES = \
-               winreg/rpc_winreg.o
 PRIVATE_DEPENDENCIES = \
                registry NDR_WINREG
 # End MODULE dcerpc_winreg
 ################################################
 
+dcerpc_winreg_OBJ_FILES = rpc_server/winreg/rpc_winreg.o
+
 ################################################
 # Start MODULE dcerpc_netlogon
 [MODULE::dcerpc_netlogon]
 INIT_FUNCTION = dcerpc_server_netlogon_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               netlogon/dcerpc_netlogon.o
 PRIVATE_DEPENDENCIES = \
                DCERPC_COMMON \
                SCHANNELDB \
@@ -131,16 +128,14 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcerpc_netlogon
 ################################################
 
+dcerpc_netlogon_OBJ_FILES = rpc_server/netlogon/dcerpc_netlogon.o
+
 ################################################
 # Start MODULE dcerpc_lsa
 [MODULE::dcerpc_lsarpc]
 INIT_FUNCTION = dcerpc_server_lsa_init
 SUBSYSTEM = dcerpc_server
 PRIVATE_PROTO_HEADER= lsa/proto.h
-OBJ_FILES = \
-               lsa/dcesrv_lsa.o \
-               lsa/lsa_init.o \
-               lsa/lsa_lookup.o
 PRIVATE_DEPENDENCIES = \
                SAMDB \
                DCERPC_COMMON \
@@ -150,14 +145,15 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcerpc_lsa
 ################################################
 
+dcerpc_lsarpc_OBJ_FILES = $(addprefix rpc_server/lsa/, dcesrv_lsa.o lsa_init.o lsa_lookup.o)
+
+
 ################################################
 # Start MODULE dcerpc_spoolss
 [MODULE::dcerpc_spoolss]
 INIT_FUNCTION = dcerpc_server_spoolss_init
 SUBSYSTEM = dcerpc_server
 OUTPUT_TYPE = MERGED_OBJ
-OBJ_FILES = \
-               spoolss/dcesrv_spoolss.o
 PRIVATE_DEPENDENCIES = \
                DCERPC_COMMON \
                NDR_SPOOLSS \
@@ -166,13 +162,13 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcerpc_spoolss
 ################################################
 
+dcerpc_spoolss_OBJ_FILES = rpc_server/spoolss/dcesrv_spoolss.o
+
 ################################################
 # Start MODULE dcerpc_drsuapi
 [MODULE::dcerpc_drsuapi]
 INIT_FUNCTION = dcerpc_server_drsuapi_init
 SUBSYSTEM = dcerpc_server
-OBJ_FILES = \
-               drsuapi/dcesrv_drsuapi.o
 PRIVATE_DEPENDENCIES = \
                SAMDB \
                DCERPC_COMMON \
@@ -180,20 +176,23 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE dcerpc_drsuapi
 ################################################
 
+dcerpc_drsuapi_OBJ_FILES = rpc_server/drsuapi/dcesrv_drsuapi.o
+
 ################################################
 # Start SUBSYSTEM dcerpc_server
 [SUBSYSTEM::dcerpc_server]
 PRIVATE_PROTO_HEADER = dcerpc_server_proto.h
-OBJ_FILES = \
-               dcerpc_server.o \
-               dcesrv_auth.o \
-               dcesrv_mgmt.o \
-               handles.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_AUTH \
                LIBNDR \
                dcerpc
-#
+
+dcerpc_server_OBJ_FILES = $(addprefix rpc_server/, \
+               dcerpc_server.o \
+               dcesrv_auth.o \
+               dcesrv_mgmt.o \
+               handles.o)
+
 # End SUBSYSTEM DCERPC
 ################################################
 
@@ -201,6 +200,7 @@ PUBLIC_HEADERS += rpc_server/dcerpc_server.h
 
 [MODULE::DCESRV]
 INIT_FUNCTION = server_service_rpc_init
-OBJ_FILES = service_rpc.o
 SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = dcerpc_server
+
+DCESRV_OBJ_FILES = rpc_server/service_rpc.o
index ddcf1c2a999166172aec47e42e207786a3c57c26..e81b8cd0aaec0a1f3c822764b33d30447da04ba7 100644 (file)
@@ -459,6 +459,18 @@ failed:
 
 NTSTATUS server_service_rpc_init(void)
 {
+       extern NTSTATUS dcerpc_server_wkssvc_init(void);
+       extern NTSTATUS dcerpc_server_drsuapi_init(void);
+       extern NTSTATUS dcerpc_server_winreg_init(void);
+       extern NTSTATUS dcerpc_server_spoolss_init(void);
+       extern NTSTATUS dcerpc_server_epmapper_init(void);
+       extern NTSTATUS dcerpc_server_srvsvc_init(void);
+       extern NTSTATUS dcerpc_server_netlogon_init(void);
+       extern NTSTATUS dcerpc_server_rpcecho_init(void);
+       extern NTSTATUS dcerpc_server_unixinfo_init(void);
+       extern NTSTATUS dcerpc_server_samr_init(void);
+       extern NTSTATUS dcerpc_server_remote_init(void);
+       extern NTSTATUS dcerpc_server_lsa_init(void);
        init_module_fn static_init[] = { STATIC_dcerpc_server_MODULES };
        init_module_fn *shared_init = load_samba_modules(NULL, global_loadparm, "dcerpc_server");
 
index 11ac426589c718c8b6dbbe7ce8f60a47d26440dd..fbbffde42cd5840473c0307a6bbe3d4c6a9f5155 100755 (executable)
 from subunit import SubunitTestRunner
 import sys
 from unittest import TestProgram
+import optparse
+import os
+import param
+import samba.getopt as options
+import samba.tests
+
+parser = optparse.OptionParser("subunitrun [options] <tests>")
+credopts = options.CredentialsOptions(parser)
+parser.add_option_group(credopts)
+sambaopts = options.SambaOptions(parser)
+parser.add_option_group(sambaopts)
+parser.add_option_group(options.VersionOptions(parser))
+
+args = parser.parse_args()[1]
+
+samba.tests.cmdline_loadparm = sambaopts.get_loadparm()
+samba.tests.cmdline_credentials = credopts.get_credentials(samba.tests.cmdline_loadparm)
+
+param.cvar.default_config = samba.tests.cmdline_loadparm
 
 runner = SubunitTestRunner()
-TestProgram(module=None, argv=sys.argv, testRunner=runner)
+program = TestProgram(module=None, argv=[sys.argv[0]] + args, testRunner=runner)
index ea64d24eea51a575de4db2318e97ccc224dc6f1e..cadd71673ceceb71b060baf64bca3d535e0c3464 100644 (file)
@@ -1,84 +1,85 @@
 [SUBSYSTEM::EJSRPC]
-OBJ_FILES = \
-               ejsrpc.o
+
+EJSRPC_OBJ_FILES = scripting/ejs/ejsrpc.o
 
 [MODULE::smbcalls_config]
-OBJ_FILES = smbcalls_config.o
 OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbcalls
 INIT_FUNCTION = smb_setup_ejs_config
 
+smbcalls_config_OBJ_FILES = scripting/ejs/smbcalls_config.o
+
 [MODULE::smbcalls_ldb]
-OBJ_FILES = smbcalls_ldb.o
 OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbcalls
 INIT_FUNCTION = smb_setup_ejs_ldb
 PRIVATE_DEPENDENCIES = LIBLDB SAMDB LIBNDR
 
+smbcalls_ldb_OBJ_FILES = scripting/ejs/smbcalls_ldb.o
+
 [MODULE::smbcalls_reg]
-OBJ_FILES = smbcalls_reg.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_reg
 PRIVATE_DEPENDENCIES = registry SAMDB LIBNDR
 
+smbcalls_reg_OBJ_FILES = scripting/ejs/smbcalls_reg.o
+
 [MODULE::smbcalls_nbt]
-OBJ_FILES = smbcalls_nbt.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_nbt
 
+smbcalls_nbt_OBJ_FILES = scripting/ejs/smbcalls_nbt.o
+
 [MODULE::smbcalls_rand]
-OBJ_FILES = smbcalls_rand.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_random
 
+smbcalls_rand_OBJ_FILES = scripting/ejs/smbcalls_rand.o
+
 [MODULE::smbcalls_nss]
-OBJ_FILES = smbcalls_nss.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_nss
 PRIVATE_DEPENDENCIES = NSS_WRAPPER
 
+smbcalls_nss_OBJ_FILES = scripting/ejs/smbcalls_nss.o
+
 [MODULE::smbcalls_data]
-OBJ_FILES = smbcalls_data.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_datablob
 
+smbcalls_data_OBJ_FILES = scripting/ejs/smbcalls_data.o
+
 [MODULE::smbcalls_auth]
-OBJ_FILES = smbcalls_auth.o
 OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbcalls
 INIT_FUNCTION = smb_setup_ejs_auth
 PRIVATE_DEPENDENCIES = auth
 
+smbcalls_auth_OBJ_FILES = scripting/ejs/smbcalls_auth.o
+
 [MODULE::smbcalls_string]
-OBJ_FILES = smbcalls_string.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_string
 
+smbcalls_string_OBJ_FILES = scripting/ejs/smbcalls_string.o
+
 [MODULE::smbcalls_sys]
-OBJ_FILES = smbcalls_sys.o
 SUBSYSTEM = smbcalls
 OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = smb_setup_ejs_system
 
+smbcalls_sys_OBJ_FILES = scripting/ejs/smbcalls_sys.o
+
 mkinclude ejsnet/config.mk
 
 [SUBSYSTEM::smbcalls]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = \
-               smbcalls.o \
-               smbcalls_cli.o \
-               smbcalls_rpc.o \
-               smbcalls_options.o \
-               smbcalls_creds.o \
-               smbcalls_param.o \
-               mprutil.o \
-               literal.o
 PRIVATE_DEPENDENCIES = \
                EJS LIBSAMBA-UTIL \
                EJSRPC MESSAGING \
@@ -87,11 +88,21 @@ PRIVATE_DEPENDENCIES = \
                dcerpc \
                NDR_TABLE
 
+smbcalls_OBJ_FILES = $(addprefix scripting/ejs/, \
+               smbcalls.o \
+               smbcalls_cli.o \
+               smbcalls_rpc.o \
+               smbcalls_options.o \
+               smbcalls_creds.o \
+               smbcalls_param.o \
+               mprutil.o \
+               literal.o)
+
 #######################
 # Start BINARY SMBSCRIPT
 [BINARY::smbscript]
-OBJ_FILES = \
-               smbscript.o
 PRIVATE_DEPENDENCIES = EJS LIBSAMBA-UTIL smbcalls LIBSAMBA-HOSTCONFIG
 # End BINARY SMBSCRIPT
 #######################
+
+smbscript_OBJ_FILES = scripting/ejs/smbscript.o
index 249a33121d99cc2fae4990b12549143dbad8ae25..85a5b2bf091fbaceecc8fa818354c35f33676acc 100644 (file)
@@ -1,11 +1,13 @@
 [MODULE::smbcalls_net]
-OBJ_FILES = \
-               net_ctx.o \
-               net_user.o \
-               mpr_user.o \
-               net_host.o \
-               mpr_host.o
 SUBSYSTEM = smbcalls
 INIT_FUNCTION = smb_setup_ejs_net
 PRIVATE_PROTO_HEADER = proto.h
 PRIVATE_DEPENDENCIES = LIBSAMBA-NET LIBCLI_SMB CREDENTIALS
+
+smbcalls_net_OBJ_FILES = $(addprefix scripting/ejs/ejsnet/,  \
+               net_ctx.o \
+               net_user.o \
+               mpr_user.o \
+               net_host.o \
+               mpr_host.o)
+
index 63a80e17db65a85fce6a17bba418f1f66538f5ee..b1a2f6a37b83eb2be267b9a5c2f14101722b984c 100644 (file)
@@ -173,6 +173,32 @@ _PUBLIC_ void ejs_exception(const char *reason)
 */
 void smb_setup_ejs_functions(void (*exception_handler)(const char *))
 {
+       extern NTSTATUS ejs_init_security(void);
+       extern NTSTATUS ejs_init_initshutdown(void);
+       extern NTSTATUS smb_setup_ejs_reg(void);
+       extern NTSTATUS smb_setup_ejs_string(void);
+       extern NTSTATUS ejs_init_lsarpc(void);
+       extern NTSTATUS ejs_init_rpcecho(void);
+       extern NTSTATUS ejs_init_winreg(void);
+       extern NTSTATUS smb_setup_ejs_random(void);
+       extern NTSTATUS smb_setup_ejs_config(void);
+       extern NTSTATUS ejs_init_misc(void);
+       extern NTSTATUS ejs_init_netdfs(void);
+       extern NTSTATUS smb_setup_ejs_datablob(void);
+       extern NTSTATUS smb_setup_ejs_auth(void);
+       extern NTSTATUS smb_setup_ejs_nss(void);
+       extern NTSTATUS ejs_init_samr(void);
+       extern NTSTATUS ejs_init_wkssvc(void);
+       extern NTSTATUS smb_setup_ejs_system(void);
+       extern NTSTATUS smb_setup_ejs_ldb(void);
+       extern NTSTATUS ejs_init_svcctl(void);
+       extern NTSTATUS smb_setup_ejs_nbt(void);
+       extern NTSTATUS smb_setup_ejs_net(void);
+       extern NTSTATUS ejs_init_srvsvc(void);
+       extern NTSTATUS ejs_init_netlogon(void);
+       extern NTSTATUS ejs_init_drsuapi(void);
+       extern NTSTATUS ejs_init_irpc(void);
+       extern NTSTATUS ejs_init_eventlog(void);
        init_module_fn static_init[] = { STATIC_smbcalls_MODULES };
        init_module_fn *shared_init;
 
index 09c77813ca47d92b8ddfc3ac310465af0cbab298..59f628fe184964fbaf1b8b79691ecdfdf37c9550 100644 (file)
@@ -1,49 +1,29 @@
 [BINARY::smbpython]
 PRIVATE_DEPENDENCIES = LIBPYTHON
-OBJ_FILES = smbpython.o
+
+smbpython_OBJ_FILES = scripting/python/smbpython.o
 
 [SUBSYSTEM::LIBPYTHON]
 PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON
 INIT_FUNCTION_SENTINEL = { NULL, NULL }
-OBJ_FILES = modules.o pytalloc.o
+
+LIBPYTHON_OBJ_FILES = $(addprefix scripting/python/, modules.o pytalloc.o)
 
 [PYTHON::python_uuid]
 PRIVATE_DEPENDENCIES = LIBNDR 
-OBJ_FILES = uuidmodule.o
+
+python_uuid_OBJ_FILES = scripting/python/uuidmodule.o
 
 [PYTHON::python_misc]
 PRIVATE_DEPENDENCIES = LIBNDR LIBLDB SAMDB CREDENTIALS
 SWIG_FILE = misc.i
 
-# Swig extensions
-swig:: pythonmods
-
-.SUFFIXES: _wrap.c .i
-
-.i_wrap.c:
-       [ "$(SWIG)" = "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
-
-realdistclean::
-       @echo "Removing SWIG output files"
-       # FIXME: Remove _wrap.c files
-
-pythonmods:: $(PYTHON_DSOS) $(PYTHON_PYS)
+python_misc_OBJ_FILES = scripting/python/misc_wrap.o
 
 PYDOCTOR_MODULES=bin/python/ldb.py bin/python/auth.py bin/python/credentials.py bin/python/registry.py bin/python/tdb.py bin/python/security.py bin/python/events.py bin/python/net.py
 
-pydoctor:: pythonmods
-       LD_LIBRARY_PATH=bin/shared PYTHONPATH=bin/python pydoctor --project-name=Samba --make-html --docformat=restructuredtext --add-package scripting/python/samba/ $(addprefix --add-module , $(PYDOCTOR_MODULES))
-
-bin/python/%.py: 
-       mkdir -p $(@D)
-       cp $< $@
-
 installpython:: pythonmods
        @$(SHELL) $(srcdir)/script/installpython.sh \
                $(INSTALLPERMS) \
                $(DESTDIR)$(PYTHONDIR) \
                scripting/python bin/python
-
-clean::
-       @echo "Removing python modules"
-       @rm -rf bin/python/*
index e04e6a6906d5681bd90dec4e721ea76bd614fd7b..6fa3bc93e34066f42a5972a673e045f18dad622b 100644 (file)
@@ -78,3 +78,8 @@ bool dsdb_set_ntds_invocation_id(struct ldb_context *ldb, const char *guid)
     return samdb_set_ntds_invocation_id(ldb, &invocation_id_in);
 }
 %}
+
+char *private_path(TALLOC_CTX* mem_ctx, 
+                  struct loadparm_context *lp_ctx,
+                  const char *name);
+
index 2fc7fe37e74d33ae243778250a4d1d55fefc73cf..f1da4c687a1a0529245b3b951ebcce6275542030 100644 (file)
@@ -71,5 +71,6 @@ version = _misc.version
 dsdb_set_global_schema = _misc.dsdb_set_global_schema
 ldb_register_samba_handlers = _misc.ldb_register_samba_handlers
 dsdb_set_ntds_invocation_id = _misc.dsdb_set_ntds_invocation_id
+private_path = _misc.private_path
 
 
index 579d1f379f183fba67f283c6e6a646b7adfcced0..4944515d15e1f202f615fbe3eb45426e405e667b 100644 (file)
@@ -3153,6 +3153,50 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_private_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  TALLOC_CTX *arg1 = (TALLOC_CTX *) 0 ;
+  struct loadparm_context *arg2 = (struct loadparm_context *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *result = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  int res3 ;
+  char *buf3 = 0 ;
+  int alloc3 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "lp_ctx",(char *) "name", NULL 
+  };
+  
+  arg2 = loadparm_init(NULL);
+  arg1 = NULL;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:private_path",kwnames,&obj0,&obj1)) SWIG_fail;
+  if (obj0) {
+    res2 = SWIG_ConvertPtr(obj0, &argp2,SWIGTYPE_p_loadparm_context, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "private_path" "', argument " "2"" of type '" "struct loadparm_context *""'"); 
+    }
+    arg2 = (struct loadparm_context *)(argp2);
+  }
+  if (obj1) {
+    res3 = SWIG_AsCharPtrAndSize(obj1, &buf3, NULL, &alloc3);
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "private_path" "', argument " "3"" of type '" "char const *""'");
+    }
+    arg3 = (char *)(buf3);
+  }
+  result = (char *)private_path(arg1,arg2,(char const *)arg3);
+  resultobj = SWIG_FromCharPtr((const char *)result);
+  if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
+  return resultobj;
+fail:
+  if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
+  return NULL;
+}
+
+
 static PyMethodDef SwigMethods[] = {
         { (char *)"random_password", (PyCFunction) _wrap_random_password, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ldb_set_credentials", (PyCFunction) _wrap_ldb_set_credentials, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -3164,6 +3208,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"dsdb_set_global_schema", (PyCFunction) _wrap_dsdb_set_global_schema, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ldb_register_samba_handlers", (PyCFunction) _wrap_ldb_register_samba_handlers, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"dsdb_set_ntds_invocation_id", (PyCFunction) _wrap_dsdb_set_ntds_invocation_id, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"private_path", (PyCFunction) _wrap_private_path, METH_VARARGS | METH_KEYWORDS, NULL},
         { NULL, NULL, 0, NULL }
 };
 
index 82cb004b621eebd263a17f944a075d92b866d113..7ec684a9d6cb0c3f5ad7ccc4a4517850410b5de4 100644 (file)
@@ -35,12 +35,14 @@ class SambaOptions(optparse.OptionGroup):
         self._configfile = arg
 
     def get_loadparm(self):
-        import param
+        import os, param
         lp = param.LoadParm()
-        if self._configfile is None:
-            lp.load_default()
-        else:
+        if self._configfile is not None:
             lp.load(self._configfile)
+        elif os.getenv("SMB_CONF_PATH") is not None:
+            lp.load(os.getenv("SMB_CONF_PATH"))
+        else:
+            lp.load_default()
         return lp
 
 class VersionOptions(optparse.OptionGroup):
index 355565968a3247675bd49dcc80d08faeec57be77..16efcd04709db45de02446b5ee8ca571611ce4bd 100644 (file)
@@ -21,6 +21,7 @@
 """Convenience functions for using the idmap database."""
 
 import samba
+import misc
 import ldb
 
 class IDmapDB(samba.Ldb):
@@ -37,11 +38,17 @@ class IDmapDB(samba.Ldb):
 
         :param url: URL of the database.
         """
+        self.lp = lp
+
         super(IDmapDB, self).__init__(session_info=session_info, credentials=credentials,
                                     modules_dir=modules_dir, lp=lp)
         if url:
             self.connect(url)
+        else:
+            self.connect(lp.get("idmap database"))
 
+    def connect(self, url):
+        super(IDmapDB, self).connect(misc.private_path(self.lp, url))
 
     def setup_name_mapping(self, sid, type, unixid):
         """Setup a mapping between a sam name and a unix name.
index bc3eef7879c50c04566709ef7fd7186d18cdf729..198d1e9f5cb8c12a0858344754241e6088b45593 100644 (file)
 import samba
 import misc
 import ldb
+from samba.idmap import IDmapDB
+import pwd
 
 class SamDB(samba.Ldb):
     """The SAM database."""
+
     def __init__(self, url=None, session_info=None, credentials=None, 
                  modules_dir=None, lp=None):
         """Open the Sam Database.
 
         :param url: URL of the database.
         """
+        self.lp = lp
         super(SamDB, self).__init__(session_info=session_info, credentials=credentials,
                                     modules_dir=modules_dir, lp=lp)
         assert misc.dsdb_set_global_schema(self) == 0
         if url:
             self.connect(url)
+        else:
+            self.connect(lp.get("sam database"))
+
+    def connect(self, url):
+        super(SamDB, self).connect(misc.private_path(self.lp, url))
 
     def add_foreign(self, domaindn, sid, desc):
         """Add a foreign security principle."""
@@ -101,10 +110,27 @@ userAccountControl: %u
         #  now the real work
         self.add({"dn": user_dn, 
             "sAMAccountName": username,
-            "unixName": unixname,
             "sambaPassword": password,
             "objectClass": "user"})
 
+        res = self.search(user_dn, scope=ldb.SCOPE_BASE,
+                          expression="objectclass=*",
+                          attrs=["objectSid"])
+        assert(len(res) == 1)
+        user_sid = self.schema_format_value("objectSid", res[0]["objectSid"][0])
+        
+        
+        try:
+            idmap = IDmapDB(lp=self.lp)
+
+            user = pwd.getpwnam(unixname)
+            # setup ID mapping for this UID
+            
+            idmap.setup_name_mapping(user_sid, idmap.TYPE_UID, user[2])
+
+        except KeyError:
+            pass
+
         #  modify the userAccountControl to remove the disabled bit
         self.enable_account(user_dn)
         self.transaction_commit()
index c8673d3fae2f7dd555e2005fd64f98d7ef20184c..e29b4a87d5295b018dba7edbdd7b1b553da6c9a2 100644 (file)
@@ -85,8 +85,13 @@ class LdbExtensionTests(TestCaseInTempDir):
             os.unlink(path)
 
 
-def get_loadparm():
-    import param
-    lp = param.LoadParm()
-    lp.load(os.getenv("SMB_CONF_PATH"))
-    return lp
+cmdline_loadparm = None
+cmdline_credentials = None
+
+class RpcInterfaceTestCase(unittest.TestCase):
+    def get_loadparm(self):
+        assert cmdline_loadparm is not None
+        return cmdline_loadparm
+
+    def get_credentials(self):
+        return cmdline_credentials
index 147acc5098402280a6afe5a5b27ea0986f087d2e..1afdc582a7efccbf031e1924c0a057de73069723 100644 (file)
 #
 
 import winreg
-from param import LoadParm
 import unittest
-from samba.tests import get_loadparm
+from samba.tests import RpcInterfaceTestCase
 
-class WinregTests(unittest.TestCase):
+class WinregTests(RpcInterfaceTestCase):
     def setUp(self):
-        lp_ctx = get_loadparm()
-        self.conn = winreg.winreg("ncalrpc:", lp_ctx)
+        self.conn = winreg.winreg("ncalrpc:", self.get_loadparm(), 
+                                  self.get_credentials())
 
     def get_hklm(self):
         return self.conn.OpenHKLM(None, 
index 484af9490ce579404925bc049070c841c77e8a3a..6c43632d970e39f77f1e4dee721a2440d69971b5 100644 (file)
 
 import echo
 import unittest
-from samba.tests import get_loadparm
+from samba.tests import RpcInterfaceTestCase
 
-class RpcEchoTests(unittest.TestCase):
+class RpcEchoTests(RpcInterfaceTestCase):
     def setUp(self):
-        lp_ctx = get_loadparm()
-        self.conn = echo.rpcecho("ncalrpc:", lp_ctx)
+        self.conn = echo.rpcecho("ncalrpc:", self.get_loadparm())
 
     def test_addone(self):
         self.assertEquals(2, self.conn.AddOne(1))
index 96348f2f6968451bea5acb1f737590f89c1e6807..8ef12dad86700720eaf562ca4c439c47bb0ef62c 100644 (file)
 #
 
 import samr
-import unittest
-from samba.tests import get_loadparm
+from samba.tests import RpcInterfaceTestCase
 
-class SamrTests(unittest.TestCase):
+class SamrTests(RpcInterfaceTestCase):
     def setUp(self):
-        self.conn = samr.samr("ncalrpc:", get_loadparm())
+        self.conn = samr.samr("ncalrpc:", self.get_loadparm())
 
     def test_connect5(self):
         (level, info, handle) = self.conn.Connect5(None, 0, 1, samr.ConnectInfo1())
index b2577ec898fba7fedaeca4aadb0152d1312c9a72..bfddfdc7ec843c072c5b84483088f1d17b44c889 100644 (file)
 #
 
 import unixinfo
-import unittest
-from samba.tests import get_loadparm
+from samba.tests import RpcInterfaceTestCase
 
-class UnixinfoTests(unittest.TestCase):
+class UnixinfoTests(RpcInterfaceTestCase):
     def setUp(self):
-        self.conn = unixinfo.unixinfo("ncalrpc:", get_loadparm())
+        self.conn = unixinfo.unixinfo("ncalrpc:", self.get_loadparm())
 
     def test_getpwuid(self):
         infos = self.conn.GetPWUid(range(512))
index 514582cbe42603def08983df3be64c93fd814562..b9e0e16d3cac11142821d71ffec3e1492a9b7dba 100644 (file)
@@ -24,7 +24,7 @@ from ldb import Dn
 import param
 import unittest
 
-lp = samba.tests.get_loadparm()
+lp = samba.tests.cmdline_loadparm
 
 setup_dir = "setup"
 def setup_path(file):
index 3745dba6fc27474312f265ae199b02e3cf8f8745..0e175bf936addc5b77cb4fbcf9882a9e01b1d788 100644 (file)
@@ -21,7 +21,7 @@ from credentials import Credentials
 import os
 from samba.provision import setup_samdb
 from samba.samdb import SamDB
-from samba.tests import get_loadparm, TestCaseInTempDir
+from samba.tests import cmdline_loadparm, TestCaseInTempDir
 import security
 from unittest import TestCase
 import uuid
@@ -43,7 +43,7 @@ class SamDBTestCase(TestCaseInTempDir):
         hostguid = uuid.random()
         path = os.path.join(self.tempdir, "samdb.ldb")
         self.samdb = setup_samdb(path, setup_path, system_session(), creds, 
-                                 get_loadparm(), schemadn, configdn, 
+                                 cmdline_loadparm, schemadn, configdn, 
                                  self.domaindn, "example.com", "EXAMPLE.COM", 
                                  "FOO", lambda x: None, "foo", domaindn, 
                                  False, domainsid, "# no aci", domainguid, 
index 7e545664d1ff105c4881506284bef03f970c0a91..ed5e46cf031a319df140d4041efe33acce5fc544 100755 (executable)
@@ -265,6 +265,7 @@ fi
 
 bbdir=$incdir/../../testprogs/blackbox
 
+plantest "blackbox.ndrdump" dc $bbdir/test_ndrdump.sh
 plantest "blackbox.smbclient" dc $bbdir/test_smbclient.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" 
 plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" $CONFIGURATION 
 plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" 
@@ -342,7 +343,7 @@ plantest "unixinfo.python" dc $SUBUNITRUN samba.tests.dcerpc.unix
 plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests
 plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam
 plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho
-plantest "winreg.python" dc $SUBUNITRUN samba.tests.dcerpc.registry
+plantest "winreg.python" dc $SUBUNITRUN -U\$USERNAME%\$PASSWORD samba.tests.dcerpc.registry
 plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
 plantest "blackbox.samba3dump" none $PYTHON scripting/bin/samba3dump $samba4srcdir/../testdata/samba3
 rm -rf $PREFIX/upgrade
index f622058a5d0858ecae21c7ce293f10663242fef3..04a5440ee1a205650f7cb3d6f1fd0f0391a25c30 100755 (executable)
@@ -45,15 +45,9 @@ else:
 if opts.unixname is None:
        opts.unixname = username
 
-try:
-       pwd.getpwnam(opts.unixname)
-except KeyError:
-       print "ERROR: Unix user '%s' does not exist" % opts.unixname
-       sys.exit(1)
-
-creds = credopts.get_credentials()
-
 lp = sambaopts.get_loadparm()
+creds = credopts.get_credentials(lp)
+
 samdb = SamDB(url=lp.get("sam database"), session_info=system_session(), 
               credentials=creds, lp=lp)
 samdb.newuser(username, opts.unixname, password)
index 31b2f73a256b6078cf3c2efb5de7476f43c1d7c8..977a6a5ee89011c0f540378d3193812ddcbe0188 100644 (file)
@@ -36,7 +36,7 @@ if len(args) == 0:
        parser.print_usage()
        sys.exit(1)
 
-password = opts.password;
+password = opts.newpassword;
 if password is None:
        password = getpass("New Password: ")
 
@@ -47,12 +47,12 @@ if filter is None:
        if username is None:
                print "Either username or --filter must be specified"
 
-       filter = "(&(objectclass=user)(samAccountName=" + username + "))"
+       filter = "(&(objectclass=user)(samAccountName=%s))" % (username)
 
 
-creds = credopts.get_credentials()
-
 lp = sambaopts.get_loadparm()
+creds = credopts.get_credentials(lp)
+
 samdb = SamDB(url=lp.get("sam database"), session_info=system_session(), 
               credentials=creds, lp=lp)
 samdb.setpassword(filter, password)
index 4db226778c4e84c66ac772ef6f5c926189bb75ef..19f37cef2df062a026914b199604bc08dd36de45 100755 (executable)
@@ -31,8 +31,11 @@ testit "simple-default" $PYTHON ./setup/provision $CONFIGURATION --domain=FOO --
 testit "simple-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc
 testit "simple-member" $PYTHON ./setup/provision $CONFIGURATION --server-role="member" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-member
 testit "simple-standalone" $PYTHON ./setup/provision $CONFIGURATION --server-role="standalone" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-standalone
-testit "blank-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc --blank
-testit "partitions-only-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc --partitions-only
+testit "blank-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/blank-dc --blank
+testit "partitions-only-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/partitions-only-dc --partitions-only
+
+testit "newuser" $PYTHON ./setup/newuser --configfile=$PREFIX/simple-dc/etc/smb.conf testuser testpass
+testit "setpassword" $PYTHON ./setup/setpassword --configfile=$PREFIX/simple-dc/etc/smb.conf testuser --newpassword=testpass
 
 reprovision() {
        $PYTHON ./setup/provision $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
index 85c969df597691280ceb16b28ae3b2e21f2dff3e..8b6ae308f9362066f6133235076ebb847fed8d5c 100644 (file)
@@ -3,19 +3,14 @@
 [MODULE::SERVICE_SMB]
 INIT_FUNCTION = server_service_smb_init
 SUBSYSTEM = service
-OBJ_FILES = smb_server.o
 PRIVATE_PROTO_HEADER = service_smb_proto.h
 PRIVATE_DEPENDENCIES = SMB_SERVER
 
+SERVICE_SMB_OBJ_FILES = smb_server/smb_server.o
+
 #######################
 # Start SUBSYSTEM SMB
 [SUBSYSTEM::SMB_SERVER]
-OBJ_FILES = \
-               handle.o \
-               tcon.o \
-               session.o \
-               blob.o \
-               management.o
 PRIVATE_PROTO_HEADER = smb_server_proto.h
 PUBLIC_DEPENDENCIES = \
                share \
@@ -25,5 +20,12 @@ PUBLIC_DEPENDENCIES = \
 # End SUBSYSTEM SMB
 #######################
 
+SMB_SERVER_OBJ_FILES = $(addprefix smb_server/, \
+               handle.o \
+               tcon.o \
+               session.o \
+               blob.o \
+               management.o)
+
 mkinclude smb/config.mk
 mkinclude smb2/config.mk
index 7927f295b93d6c9676e77022c0da64d890b76986..3d4aa8ba3860e3c75b6f0c323b5bb070636876a3 100644 (file)
@@ -2,7 +2,12 @@
 # Start SUBSYSTEM SMB_PROTOCOL
 [SUBSYSTEM::SMB_PROTOCOL]
 PRIVATE_PROTO_HEADER = smb_proto.h
-OBJ_FILES = \
+PUBLIC_DEPENDENCIES = \
+               ntvfs LIBPACKET CREDENTIALS
+# End SUBSYSTEM SMB_PROTOCOL
+#######################
+
+SMB_PROTOCOL_OBJ_FILES = $(addprefix smb_server/smb/, \
                receive.o \
                negprot.o \
                nttrans.o \
@@ -13,8 +18,5 @@ OBJ_FILES = \
                sesssetup.o \
                srvtime.o \
                trans2.o \
-               signing.o
-PUBLIC_DEPENDENCIES = \
-               ntvfs LIBPACKET CREDENTIALS
-# End SUBSYSTEM SMB_PROTOCOL
-#######################
+               signing.o)
+
index d5ba43b3a8b232dbc256e8be8a627e6e3124d388..c9ba3269fac2bb9a59271d3e5484e6c6f8b05e6e 100644 (file)
@@ -2,7 +2,12 @@
 # Start SUBSYSTEM SMB2_PROTOCOL
 [SUBSYSTEM::SMB2_PROTOCOL]
 PRIVATE_PROTO_HEADER = smb2_proto.h
-OBJ_FILES = \
+PUBLIC_DEPENDENCIES = \
+               ntvfs LIBPACKET LIBCLI_SMB2
+# End SUBSYSTEM SMB2_PROTOCOL
+#######################
+
+SMB2_PROTOCOL_OBJ_FILES = $(addprefix smb_server/smb2/, \
                receive.o \
                negprot.o \
                sesssetup.o \
@@ -10,8 +15,5 @@ OBJ_FILES = \
                fileio.o \
                fileinfo.o \
                find.o \
-               keepalive.o
-PUBLIC_DEPENDENCIES = \
-               ntvfs LIBPACKET LIBCLI_SMB2
-# End SUBSYSTEM SMB2_PROTOCOL
-#######################
+               keepalive.o)
+
index 6cbfa160459c052aea873a435e2a6690de341f45..006135f818a763f321aa7597b76b5d0fd4147707 100644 (file)
@@ -1,34 +1,24 @@
 # server subsystem
 
-################################################
-# Start MODULE service_auth
-[MODULE::service_auth]
-INIT_FUNCTION = server_service_auth_init
-SUBSYSTEM = service
-PRIVATE_DEPENDENCIES = \
-               auth
-# End MODULE server_auth
-################################################
-
 [SUBSYSTEM::service]
 PRIVATE_PROTO_HEADER = service_proto.h
-OBJ_FILES = \
-               service.o \
-               service_stream.o \
-               service_task.o
 PRIVATE_DEPENDENCIES = \
                MESSAGING samba-socket
 
+service_OBJ_FILES = $(addprefix smbd/, \
+               service.o \
+               service_stream.o \
+               service_task.o)
+
 [SUBSYSTEM::PIDFILE]
-OBJ_FILES = pidfile.o
 PRIVATE_PROTO_HEADER = pidfile.h
 
+PIDFILE_OBJ_FILES = smbd/pidfile.o
+
 #################################
 # Start BINARY smbd
 [BINARY::smbd]
 INSTALLDIR = SBINDIR
-OBJ_FILES = \
-               server.o
 PRIVATE_DEPENDENCIES = \
                process_model \
                service \
@@ -44,6 +34,8 @@ PRIVATE_DEPENDENCIES = \
                share \
                CLUSTER
 
+smbd_OBJ_FILES = smbd/server.o
+
 MANPAGES += smbd/smbd.8
 # End BINARY smbd
 #################################
index fcbe2d9872e9b6103c0d2278b6b913f7e8d92bb7..2cb551a520d32bd230db98eccbc5837fb13da932 100644 (file)
@@ -82,6 +82,9 @@ _PUBLIC_ NTSTATUS register_process_model(const void *_ops)
 
 _PUBLIC_ NTSTATUS process_model_init(struct loadparm_context *lp_ctx)
 {
+       extern NTSTATUS process_model_standard_init(void);
+       extern NTSTATUS process_model_prefork_init(void);
+       extern NTSTATUS process_model_single_init(void);
        init_module_fn static_init[] = { STATIC_process_model_MODULES };
        init_module_fn *shared_init = load_samba_modules(NULL, lp_ctx, "process_model");
 
index d559ce157715360a1f56ddbdb186b37b04d7b04d..48899078f7803c4912c08bedbed7e35aed9c8cae 100644 (file)
@@ -5,45 +5,45 @@
 [MODULE::process_model_single]
 INIT_FUNCTION = process_model_single_init 
 SUBSYSTEM = process_model
-OBJ_FILES = \
-               process_single.o
 # End MODULE process_model_single
 ################################################
 
+process_model_single_OBJ_FILES = smbd/process_single.o
+
 ################################################
 # Start MODULE process_model_standard
 [MODULE::process_model_standard]
 INIT_FUNCTION = process_model_standard_init 
 SUBSYSTEM = process_model
-OBJ_FILES = \
-               process_standard.o
 PRIVATE_DEPENDENCIES = SETPROCTITLE
 # End MODULE process_model_standard
 ################################################
 
+process_model_standard_OBJ_FILES = smbd/process_standard.o
+
 ################################################
 # Start MODULE process_model_thread
 [MODULE::process_model_thread]
 INIT_FUNCTION = process_model_thread_init 
 SUBSYSTEM = process_model
-OBJ_FILES = \
-               process_thread.o
 PRIVATE_DEPENDENCIES = PTHREAD
 # End MODULE process_model_thread
 ################################################
 
+process_model_thread_OBJ_FILES = smbd/process_thread.o
+
 ################################################
 # Start MODULE process_model_prefork
 [MODULE::process_model_prefork]
 INIT_FUNCTION = process_model_prefork_init 
 SUBSYSTEM = process_model
-OBJ_FILES = \
-               process_prefork.o
 # End MODULE process_model_thread
 ################################################
 
+process_model_prefork_OBJ_FILES = smbd/process_prefork.o
+
 [SUBSYSTEM::process_model]
 PRIVATE_PROTO_HEADER = process_model_proto.h
-OBJ_FILES = \
-               process_model.o
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG
+
+process_model_OBJ_FILES = smbd/process_model.o
index d6e2fb19e4ad94eb0de130934fe8457901939aa2..3f6cb480135b6ca2a6b1e1eb6f50432bcf1fac7a 100644 (file)
@@ -187,6 +187,18 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
        bool opt_interactive = false;
        int opt;
        poptContext pc;
+       extern NTSTATUS server_service_wrepl_init(void);
+       extern NTSTATUS server_service_kdc_init(void);
+       extern NTSTATUS server_service_ldap_init(void);
+       extern NTSTATUS server_service_web_init(void);
+       extern NTSTATUS server_service_ldap_init(void);
+       extern NTSTATUS server_service_winbind_init(void);
+       extern NTSTATUS server_service_nbtd_init(void);
+       extern NTSTATUS server_service_auth_init(void);
+       extern NTSTATUS server_service_cldapd_init(void);
+       extern NTSTATUS server_service_smb_init(void);
+       extern NTSTATUS server_service_drepl_init(void);
+       extern NTSTATUS server_service_rpc_init(void);
        init_module_fn static_init[] = { STATIC_service_MODULES };
        init_module_fn *shared_init;
        struct event_context *event_ctx;
index ade41614c24329f74ce16c14798246f8e7e143da..a442b0102527c086d15d5fb5867e2d207c562244 100644 (file)
@@ -11,7 +11,6 @@ lib/charset/charset.h: lib/charset/charset_proto.h
 include/includes.h: \
                include/config.h \
                lib/charset/charset.h \
-               param/proto.h \
                librpc/gen_ndr/misc.h
 
 heimdal_basics: \
index 7acb1e0792c667532eb4749298972278640f80b9..e6c54022c286b0390467f4c250b55a571e3013e7 100644 (file)
@@ -1,25 +1,23 @@
 # TORTURE subsystem
 [LIBRARY::torture]
-SO_VERSION = 0
-VERSION = 0.0.1
-PC_FILE = torture.pc
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = \
-               torture.o \
-               ui.o
 PUBLIC_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                LIBSAMBA-UTIL \
                LIBTALLOC \
                LIBPOPT
 
+PC_FILES += torture/torture.pc
+torture_OBJ_FILES = $(addprefix torture/, torture.o ui.o)
+
 PUBLIC_HEADERS += torture/torture.h torture/ui.h
 
 [SUBSYSTEM::TORTURE_UTIL]
-OBJ_FILES = util_smb.o
 PRIVATE_DEPENDENCIES = LIBCLI_RAW LIBPYTHON smbcalls PROVISION
 PUBLIC_DEPENDENCIES = POPT_CREDENTIALS
 
+TORTURE_UTIL_OBJ_FILES = $(addprefix torture/, util_smb.o)
+
 #################################
 # Start SUBSYSTEM TORTURE_BASIC
 [MODULE::TORTURE_BASIC]
@@ -27,25 +25,6 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_base_init
 PRIVATE_PROTO_HEADER = \
                basic/proto.h
-OBJ_FILES = \
-               basic/base.o \
-               basic/misc.o \
-               basic/scanner.o \
-               basic/utable.o \
-               basic/charset.o \
-               basic/mangle_test.o \
-               basic/denytest.o \
-               basic/aliases.o \
-               basic/locking.o \
-               basic/secleak.o \
-               basic/rename.o \
-               basic/dir.o \
-               basic/delete.o \
-               basic/unlink.o \
-               basic/disconnect.o \
-               basic/delaywrite.o \
-               basic/attr.o \
-               basic/properties.o 
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB POPT_CREDENTIALS \
                TORTURE_UTIL LIBCLI_RAW \
@@ -53,6 +32,27 @@ PRIVATE_DEPENDENCIES = \
 # End SUBSYSTEM TORTURE_BASIC
 #################################
 
+TORTURE_BASIC_OBJ_FILES = $(addprefix torture/basic/,  \
+               base.o \
+               misc.o \
+               scanner.o \
+               utable.o \
+               charset.o \
+               mangle_test.o \
+               denytest.o \
+               aliases.o \
+               locking.o \
+               secleak.o \
+               rename.o \
+               dir.o \
+               delete.o \
+               unlink.o \
+               disconnect.o \
+               delaywrite.o \
+               attr.o \
+               properties.o)
+
+
 #################################
 # Start SUBSYSTEM TORTURE_RAW
 [MODULE::TORTURE_RAW]
@@ -60,58 +60,52 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_raw_init
 PRIVATE_PROTO_HEADER = \
                raw/proto.h
-OBJ_FILES = \
-               raw/qfsinfo.o \
-               raw/qfileinfo.o \
-               raw/setfileinfo.o \
-               raw/search.o \
-               raw/close.o \
-               raw/open.o \
-               raw/mkdir.o \
-               raw/oplock.o \
-               raw/notify.o \
-               raw/mux.o \
-               raw/ioctl.o \
-               raw/chkpath.o \
-               raw/unlink.o \
-               raw/read.o \
-               raw/context.o \
-               raw/write.o \
-               raw/lock.o \
-               raw/pingpong.o \
-               raw/lockbench.o \
-               raw/openbench.o \
-               raw/rename.o \
-               raw/eas.o \
-               raw/streams.o \
-               raw/acls.o \
-               raw/seek.o \
-               raw/samba3hide.o \
-               raw/samba3misc.o \
-               raw/composite.o \
-               raw/raw.o \
-               raw/offline.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE \
                POPT_CREDENTIALS TORTURE_UTIL
 # End SUBSYSTEM TORTURE_RAW
 #################################
 
+TORTURE_RAW_OBJ_FILES = $(addprefix torture/raw/, \
+               qfsinfo.o \
+               qfileinfo.o \
+               setfileinfo.o \
+               search.o \
+               close.o \
+               open.o \
+               mkdir.o \
+               oplock.o \
+               notify.o \
+               mux.o \
+               ioctl.o \
+               chkpath.o \
+               unlink.o \
+               read.o \
+               context.o \
+               write.o \
+               lock.o \
+               pingpong.o \
+               lockbench.o \
+               openbench.o \
+               rename.o \
+               eas.o \
+               streams.o \
+               acls.o \
+               seek.o \
+               samba3hide.o \
+               samba3misc.o \
+               composite.o \
+               raw.o \
+               offline.o)
+
+
 mkinclude smb2/config.mk
 mkinclude winbind/config.mk
 
 [SUBSYSTEM::TORTURE_NDR]
 PRIVATE_PROTO_HEADER = ndr/proto.h
-OBJ_FILES = ndr/ndr.o \
-                       ndr/winreg.o \
-                       ndr/atsvc.o \
-                       ndr/lsa.o \
-                       ndr/epmap.o \
-                       ndr/dfs.o \
-                       ndr/netlogon.o \
-                       ndr/drsuapi.o \
-                       ndr/spoolss.o \
-                       ndr/samr.o
+
+TORTURE_NDR_OBJ_FILES = $(addprefix torture/ndr/, ndr.o winreg.o atsvc.o lsa.o epmap.o dfs.o netlogon.o drsuapi.o spoolss.o samr.o)
 
 [MODULE::torture_rpc]
 # TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
@@ -120,50 +114,6 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_rpc_init
 PRIVATE_PROTO_HEADER = \
                rpc/proto.h
-OBJ_FILES = \
-               rpc/join.o \
-               rpc/lsa.o \
-               rpc/lsa_lookup.o \
-               rpc/session_key.o \
-               rpc/echo.o \
-               rpc/dfs.o \
-               rpc/drsuapi.o \
-               rpc/drsuapi_cracknames.o \
-               rpc/dssync.o \
-               rpc/spoolss.o \
-               rpc/spoolss_notify.o \
-               rpc/spoolss_win.o \
-               rpc/unixinfo.o \
-               rpc/samr.o \
-               rpc/samr_accessmask.o \
-               rpc/wkssvc.o \
-               rpc/srvsvc.o \
-               rpc/svcctl.o \
-               rpc/atsvc.o \
-               rpc/eventlog.o \
-               rpc/epmapper.o \
-               rpc/winreg.o \
-               rpc/initshutdown.o \
-               rpc/oxidresolve.o \
-               rpc/remact.o \
-               rpc/mgmt.o \
-               rpc/scanner.o \
-               rpc/autoidl.o \
-               rpc/countcalls.o \
-               rpc/testjoin.o \
-               rpc/schannel.o \
-               rpc/netlogon.o \
-               rpc/samlogon.o \
-               rpc/samsync.o \
-               rpc/bind.o \
-               rpc/dssetup.o \
-               rpc/alter_context.o \
-               rpc/bench.o \
-               rpc/samba3rpc.o \
-               rpc/rpc.o \
-               rpc/async_bind.o \
-               rpc/handles.o \
-               rpc/frsapi.o
 PRIVATE_DEPENDENCIES = \
                NDR_TABLE RPC_NDR_UNIXINFO dcerpc_samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
                RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
@@ -172,7 +122,16 @@ PRIVATE_DEPENDENCIES = \
                RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP \
                RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER WB_HELPER LIBSAMBA-NET \
                LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP \
-               dcerpc_server service process_model
+               dcerpc_server service process_model ntvfs SERVICE_SMB
+
+torture_rpc_OBJ_FILES = $(addprefix torture/rpc/, \
+               join.o lsa.o lsa_lookup.o session_key.o echo.o dfs.o drsuapi.o \
+               drsuapi_cracknames.o dssync.o spoolss.o spoolss_notify.o spoolss_win.o \
+               unixinfo.o samr.o samr_accessmask.o wkssvc.o srvsvc.o svcctl.o atsvc.o \
+               eventlog.o epmapper.o winreg.o initshutdown.o oxidresolve.o remact.o mgmt.o \
+               scanner.o autoidl.o countcalls.o testjoin.o schannel.o netlogon.o samlogon.o \
+               samsync.o bind.o dssetup.o alter_context.o bench.o samba3rpc.o rpc.o async_bind.o \
+               handles.o frsapi.o)
 
 #################################
 # Start SUBSYSTEM TORTURE_RAP
@@ -181,27 +140,26 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_rap_init
 PRIVATE_PROTO_HEADER = \
                rap/proto.h
-OBJ_FILES = \
-               rap/rap.o
 PRIVATE_DEPENDENCIES = TORTURE_UTIL LIBCLI_SMB
 # End SUBSYSTEM TORTURE_RAP
 #################################
 
+TORTURE_RAP_OBJ_FILES = torture/rap/rap.o
+
 #################################
 # Start SUBSYSTEM TORTURE_AUTH
 [MODULE::TORTURE_AUTH]
 SUBSYSTEM = torture
 PRIVATE_PROTO_HEADER = \
                auth/proto.h
-OBJ_FILES = \
-               auth/ntlmssp.o \
-               auth/pac.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB gensec auth KERBEROS \
                POPT_CREDENTIALS SMBPASSWD
 # End SUBSYSTEM TORTURE_AUTH
 #################################
 
+TORTURE_AUTH_OBJ_FILES = $(addprefix torture/auth/, ntlmssp.o pac.o)
+
 mkinclude local/config.mk
 
 #################################
@@ -212,12 +170,11 @@ INIT_FUNCTION = torture_nbench_init
 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
 PRIVATE_PROTO_HEADER = \
                nbench/proto.h
-OBJ_FILES = \
-               nbench/nbio.o \
-               nbench/nbench.o
 # End MODULE TORTURE_NBENCH
 #################################
 
+TORTURE_NBENCH_OBJ_FILES = $(addprefix torture/nbench/, nbio.o nbench.o)
+
 #################################
 # Start MODULE TORTURE_UNIX
 [MODULE::TORTURE_UNIX]
@@ -226,13 +183,11 @@ INIT_FUNCTION = torture_unix_init
 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
 PRIVATE_PROTO_HEADER = \
                unix/proto.h
-OBJ_FILES = \
-               unix/unix.o \
-               unix/whoami.o \
-               unix/unix_info2.o
 # End MODULE TORTURE_UNIX
 #################################
 
+TORTURE_UNIX_OBJ_FILES = $(addprefix torture/unix/, unix.o whoami.o unix_info2.o)
+
 #################################
 # Start SUBSYSTEM TORTURE_LDAP
 [MODULE::TORTURE_LDAP]
@@ -240,18 +195,14 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_ldap_init
 PRIVATE_PROTO_HEADER = \
                ldap/proto.h
-OBJ_FILES = \
-               ldap/common.o \
-               ldap/basic.o \
-               ldap/schema.o \
-               ldap/uptodatevector.o \
-               ldap/cldap.o \
-               ldap/cldapbench.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_LDAP LIBCLI_CLDAP SAMDB POPT_CREDENTIALS
 # End SUBSYSTEM TORTURE_LDAP
 #################################
 
+TORTURE_LDAP_OBJ_FILES = $(addprefix torture/ldap/, common.o basic.o schema.o uptodatevector.o cldap.o cldapbench.o)
+
+
 #################################
 # Start SUBSYSTEM TORTURE_NBT
 [MODULE::TORTURE_NBT]
@@ -259,19 +210,15 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_nbt_init
 PRIVATE_PROTO_HEADER = \
                nbt/proto.h
-OBJ_FILES = \
-               nbt/query.o \
-               nbt/register.o \
-               nbt/wins.o \
-               nbt/winsbench.o \
-               nbt/winsreplication.o \
-               nbt/dgram.o \
-               nbt/nbt.o
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL torture_rpc
 # End SUBSYSTEM TORTURE_NBT
 #################################
 
+TORTURE_NBT_OBJ_FILES = $(addprefix torture/nbt/, query.o register.o \
+       wins.o winsbench.o winsreplication.o dgram.o nbt.o)
+
+
 #################################
 # Start SUBSYSTEM TORTURE_NET
 [MODULE::TORTURE_NET]
@@ -279,21 +226,6 @@ SUBSYSTEM = torture
 INIT_FUNCTION = torture_net_init
 PRIVATE_PROTO_HEADER = \
                libnet/proto.h
-OBJ_FILES = \
-               libnet/libnet.o \
-               libnet/utils.o \
-               libnet/userinfo.o \
-               libnet/userman.o \
-               libnet/groupinfo.o \
-               libnet/groupman.o \
-               libnet/domain.o \
-               libnet/libnet_lookup.o \
-               libnet/libnet_user.o \
-               libnet/libnet_group.o \
-               libnet/libnet_share.o \
-               libnet/libnet_rpc.o \
-               libnet/libnet_domain.o \
-               libnet/libnet_BecomeDC.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-NET \
                POPT_CREDENTIALS \
@@ -301,12 +233,16 @@ PRIVATE_DEPENDENCIES = \
 # End SUBSYSTEM TORTURE_NET
 #################################
 
+TORTURE_NET_OBJ_FILES = $(addprefix torture/libnet/, libnet.o \
+                                          utils.o userinfo.o userman.o groupinfo.o groupman.o \
+                                          domain.o libnet_lookup.o libnet_user.o libnet_group.o \
+                                          libnet_share.o libnet_rpc.o libnet_domain.o libnet_BecomeDC.o)
+
+
 #################################
 # Start BINARY smbtorture
 [BINARY::smbtorture]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               smbtorture.o
 PRIVATE_DEPENDENCIES = \
                torture \
                LIBPOPT \
@@ -318,14 +254,14 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY smbtorture
 #################################
 
+smbtorture_OBJ_FILES = torture/smbtorture.o
+
 MANPAGES += torture/man/smbtorture.1
 
 #################################
 # Start BINARY gentest
 [BINARY::gentest]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               gentest.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                LIBSAMBA-UTIL \
@@ -337,14 +273,14 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY gentest
 #################################
 
+gentest_OBJ_FILES = torture/gentest.o
+
 MANPAGES += torture/man/gentest.1
 
 #################################
 # Start BINARY masktest
 [BINARY::masktest]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               masktest.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-HOSTCONFIG \
                LIBSAMBA-UTIL \
@@ -355,14 +291,14 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY masktest
 #################################
 
+masktest_OBJ_FILES = torture/masktest.o
+
 MANPAGES += torture/man/masktest.1
 
 #################################
 # Start BINARY locktest
 [BINARY::locktest]
 INSTALLDIR = BINDIR
-OBJ_FILES = \
-               locktest.o
 PRIVATE_DEPENDENCIES = \
                LIBPOPT \
                POPT_SAMBA \
@@ -373,6 +309,8 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY locktest
 #################################
 
+locktest_OBJ_FILES = torture/locktest.o
+
 MANPAGES += torture/man/locktest.1
 
 COV_TARGET = test
index 3c8d574f0ec61fe4926fb0cf9e0b9264c9c3985c..eb6abc45d5967fab0ac6db815a85ddb418798af1 100644 (file)
@@ -136,7 +136,7 @@ bool torture_domain_open_lsa(struct torture_context *torture)
           of specific server name. */
        domain_name = lp_workgroup(torture->lp_ctx);
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        if (ctx == NULL) {
                d_printf("failed to create libnet context\n");
                return false;
@@ -190,7 +190,7 @@ bool torture_domain_close_lsa(struct torture_context *torture)
                return false;
        }
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        if (ctx == NULL) {
                d_printf("failed to create libnet context\n");
                ret = false;
@@ -245,7 +245,6 @@ bool torture_domain_open_samr(struct torture_context *torture)
 {
        NTSTATUS status;
        struct libnet_context *ctx;
-       struct event_context *evt_ctx=NULL;
        TALLOC_CTX *mem_ctx;
        struct policy_handle domain_handle, handle;
        struct libnet_DomainOpen io;
@@ -255,7 +254,7 @@ bool torture_domain_open_samr(struct torture_context *torture)
 
        mem_ctx = talloc_init("test_domainopen_lsa");
 
-       ctx = libnet_context_init(evt_ctx, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        /* we're accessing domain controller so the domain name should be
@@ -320,7 +319,7 @@ bool torture_domain_close_samr(struct torture_context *torture)
                return false;
        }
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        if (ctx == NULL) {
                d_printf("failed to create libnet context\n");
                ret = false;
@@ -388,7 +387,7 @@ bool torture_domain_list(struct torture_context *torture)
                return false;
        }
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        if (ctx == NULL) {
                d_printf("failed to create libnet context\n");
                ret = false;
index cabccdbe66f38b4a6cdf02799f2f5476dd3d58fa..12b8167a865a222559334709f743c415cb272e3e 100644 (file)
@@ -235,7 +235,7 @@ bool torture_groupinfo_api(struct torture_context *torture)
 
        prep_mem_ctx = talloc_init("prepare torture group info");
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        status = torture_rpc_connection(torture,
@@ -300,7 +300,7 @@ bool torture_grouplist(struct torture_context *torture)
        struct libnet_GroupList req;
        int i;
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        domain_name.string = lp_workgroup(torture->lp_ctx);
@@ -361,7 +361,7 @@ bool torture_creategroup(struct torture_context *torture)
 
        mem_ctx = talloc_init("test_creategroup");
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        req.in.group_name = TEST_GROUPNAME;
index 9167d1de3ec0005f97ebf2cf7c0cafd757091778..b25b51b7d96b18a8638ee88d5bb85517afd2a3b0 100644 (file)
@@ -40,7 +40,7 @@ bool torture_lookup(struct torture_context *torture)
 
        mem_ctx = talloc_init("test_lookup");
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        lookup.in.hostname = torture_setting_string(torture, "host", NULL);
@@ -84,7 +84,7 @@ bool torture_lookup_host(struct torture_context *torture)
 
        mem_ctx = talloc_init("test_lookup_host");
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        lookup.in.hostname = torture_setting_string(torture, "host", NULL);
@@ -127,7 +127,7 @@ bool torture_lookup_pdc(struct torture_context *torture)
 
        mem_ctx = talloc_init("test_lookup_pdc");
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        talloc_steal(ctx, mem_ctx);
@@ -171,7 +171,7 @@ bool torture_lookup_sam_name(struct torture_context *torture)
        struct libnet_context *ctx;
        struct libnet_LookupName r;
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
 
        mem_ctx = talloc_init("torture lookup sam name");
index 282837d3fe9f0779fe4564b0d26d8b61515bc914..f25c1ecc482ebaa5707a0c9d551a91df9edd5488 100644 (file)
@@ -89,7 +89,7 @@ static bool torture_rpc_connect(struct torture_context *torture,
 {
        struct libnet_context *ctx;
 
-       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx = libnet_context_init(torture->ev, torture->lp_ctx);
        ctx->cred = cmdline_credentials;
        
        d_printf("Testing connection to LSA interface\n");
index eb1edff18d48cf89f522907a4916599add6ca744..6bc5be40a668c403da4aebd0f896f4f315a5d573 100644 (file)
@@ -131,7 +131,7 @@ bool torture_listshares(struct torture_context *torture)
                goto done;
        }
 
-       libnetctx = libnet_context_init(NULL, torture->lp_ctx);
+       libnetctx = libnet_context_init(torture->ev, torture->lp_ctx);
        if (!libnetctx) {
                printf("Couldn't allocate libnet context\n");
                ret = false;
@@ -210,7 +210,7 @@ bool torture_delshare(struct torture_context *torture)
        status = torture_rpc_binding(torture, &binding);
        torture_assert_ntstatus_ok(torture, status, "Failed to get binding");
 
-       libnetctx = libnet_context_init(NULL, torture->lp_ctx);
+       libnetctx = libnet_context_init(torture->ev, torture->lp_ctx);
        libnetctx->cred = cmdline_credentials;