Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake3
authorJelmer Vernooij <jelmer@samba.org>
Fri, 29 Feb 2008 11:45:46 +0000 (12:45 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 29 Feb 2008 11:45:46 +0000 (12:45 +0100)
Conflicts:

source/scripting/python/config.mk
(This used to be commit 0ac0ea660ab63eca764149f1d2828d0238a57289)

60 files changed:
.gitignore
source4/Makefile
source4/auth/auth.c
source4/auth/config.mk
source4/auth/credentials/config.mk
source4/auth/gensec/config.mk
source4/auth/gensec/gensec.c
source4/build/m4/check_make.m4
source4/build/make/lex_compile.sh [moved from source4/script/lex_compile.sh with 100% similarity]
source4/build/make/python.mk [new file with mode: 0644]
source4/build/make/rules.mk [moved from source4/rules.mk with 68% similarity]
source4/build/make/yacc_compile.sh [moved from source4/script/yacc_compile.sh with 100% similarity]
source4/build/smb_build/README.txt
source4/build/smb_build/cflags.pm [deleted file]
source4/build/smb_build/config_mk.pm
source4/build/smb_build/env.pm [deleted file]
source4/build/smb_build/header.pm [deleted file]
source4/build/smb_build/input.pm
source4/build/smb_build/main.pl
source4/build/smb_build/makefile.pm
source4/build/smb_build/output.pm
source4/configure.ac
source4/dsdb/config.mk
source4/dsdb/samdb/ldb_modules/config.mk
source4/dynconfig.mk
source4/heimdal_build/config.mk
source4/lib/basic.mk
source4/lib/charset/config.mk
source4/lib/cmdline/config.mk
source4/lib/events/config.mk
source4/lib/events/events.c
source4/lib/ldb/common/ldb_modules.c
source4/lib/ldb/config.mk
source4/lib/ldb/include/ldb_private.h
source4/lib/ldb/tools/config.mk
source4/lib/nss_wrapper/config.mk
source4/lib/registry/config.mk
source4/lib/registry/interface.c
source4/lib/registry/local.c
source4/lib/socket_wrapper/config.mk
source4/lib/talloc/config.mk
source4/lib/tdb/config.mk
source4/lib/tdr/config.mk
source4/lib/util/config.mk
source4/libcli/auth/config.mk
source4/libcli/config.mk
source4/libcli/ldap/config.mk
source4/libnet/config.mk
source4/librpc/config.mk
source4/nbt_server/config.mk
source4/ntvfs/config.mk
source4/param/config.mk
source4/rpc_server/config.mk
source4/script/cflags.pl [deleted file]
source4/script/mkproto.pl
source4/scripting/ejs/smbcalls.c
source4/scripting/python/config.mk
source4/smbd/config.mk
source4/torture/config.mk
source4/utils/config.mk

index f75f698c6565e05a39a721afcc5d8bb3bc062516..3a2e5642e7db93c9cdceb5f81091f5e3cddaaa49 100644 (file)
@@ -197,3 +197,4 @@ source/apidocs
 *.swp
 source/mkconfig.mk
 source/data.mk
+source/librpc/idl-deps
index 1fddfefce3b3fcb444165d5c1f3734a022a445ad..6083ee35b5f8ed415ac557a211a31b3f1f6ca736 100644 (file)
@@ -19,15 +19,57 @@ BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
 HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS)
 HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
 
-default: all
+$(srcdir)/version.h: $(srcdir)/VERSION
+       @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
 
-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_deps),yes)
+ALL_PREDEP = proto
+.NOTPARALLEL:
+endif
+
+include build/make/rules.mk
+include build/make/python.mk
 include data.mk
+include extra_cflags.txt
+
+DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
+                  include/includes.d
+
+ifeq ($(automatic_deps),yes)
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(MAKECMDGOALS),distclean)
+ifneq ($(MAKECMDGOALS),realdistclean)
+ifneq ($(SKIP_DEP_FILES),yes)
+-include $(DEP_FILES)
+endif
+endif
+endif
+endif
+
+ifneq ($(SKIP_DEP_FILES),yes)
+clean::
+       @echo Removing dependency files
+       @find . -name '*.d' -o -name '*.hd' | xargs rm -f
+endif
+else
+include $(srcdir)/static_deps.mk
+endif
 
 DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
                  $(srcdir)/version.h
 
-binaries::
+binaries:: $(BIN_PROGS) $(SBIN_PROGS)
 libraries:: $(STATIC_LIBS) $(SHARED_LIBS)
 modules:: $(PLUGINS)
 headers:: $(PUBLIC_HEADERS) $(DEFAULT_HEADERS)
index ed590f2ced520b974e9de772940de055bc882924..4aecc8dfeedb34b66a9e978aa8e146625315e0aa 100644 (file)
@@ -22,7 +22,6 @@
 #include "lib/util/dlinklist.h"
 #include "auth/auth.h"
 #include "lib/events/events.h"
-#include "build.h"
 #include "param/param.h"
 
 /***************************************************************************
@@ -515,6 +514,11 @@ const struct auth_critical_sizes *auth_interface_version(void)
 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 5b320bcf363d4b28c935c36dc5a8280a497decef..369c5bb4e622e2a5ea267cef40236a5a855e45ff 100644 (file)
@@ -6,13 +6,14 @@ mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
 OBJ_FILES = session.o
-PUBLIC_HEADERS = session.h
-PUBLIC_PROTO_HEADER = session_proto.h
+PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
+PUBLIC_HEADERS += auth/session.h
+
 [SUBSYSTEM::auth_system_session]
 OBJ_FILES = system_session.o
-PUBLIC_PROTO_HEADER = system_session_proto.h
+PRIVATE_PROTO_HEADER = system_session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY 
 
@@ -81,8 +82,7 @@ OBJ_FILES = pam_errors.o
 [SUBSYSTEM::auth]
 #VERSION = 0.0.1
 #SO_VERSION = 0
-PUBLIC_HEADERS = auth.h
-PUBLIC_PROTO_HEADER = auth_proto.h
+PRIVATE_PROTO_HEADER = auth_proto.h
 OBJ_FILES = \
                auth.o \
                auth_util.o \
@@ -92,6 +92,8 @@ PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 # End SUBSYSTEM auth
 #######################
 
+PUBLIC_HEADERS += auth/auth.h
+
 [PYTHON::swig_auth]
 PUBLIC_DEPENDENCIES = auth_system_session
 PRIVATE_DEPENDENCIES = SAMDB 
index fee9519ae5b8893287d537c6b7c8a2fab6f3e005..ef8db50109722f379a28ec1c3a5f92910d1cbbe0 100644 (file)
@@ -1,8 +1,7 @@
 #################################
 # Start SUBSYSTEM CREDENTIALS
 [SUBSYSTEM::CREDENTIALS]
-PUBLIC_PROTO_HEADER = credentials_proto.h
-PUBLIC_HEADERS = credentials.h credentials_krb5.h
+PRIVATE_PROTO_HEADER = credentials_proto.h
 OBJ_FILES = credentials.o \
                credentials_files.o \
                credentials_ntlm.o \
@@ -13,6 +12,8 @@ PUBLIC_DEPENDENCIES = \
 PRIVATE_DEPENDENCIES = \
                SECRETS
 
+PUBLIC_HEADERS += $(addprefix auth/credentials/, credentials.h credentials_krb5.h)
+
 [PYTHON::swig_credentials]
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS
 SWIG_FILE = credentials.i
index 9aab2c704ece2862670fe034756062f9924e3418..b60f039284f17c8cdb4527cc0414cee8bd9f2892 100644 (file)
@@ -4,14 +4,15 @@
 PC_FILE = gensec.pc
 VERSION = 0.0.1
 SO_VERSION = 0
-PUBLIC_HEADERS = gensec.h spnego.h
-PUBLIC_PROTO_HEADER = gensec_proto.h
+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
 #################################
 
+PUBLIC_HEADERS += $(addprefix auth/gensec/, gensec.h spnego.h)
+
 ################################################
 # Start MODULE gensec_krb5
 [MODULE::gensec_krb5]
index cd2066d9fd5f93044fa92e68497a9794350410f0..b07a92d4d1cf03001191976dee14dbcecea19485 100644 (file)
@@ -23,7 +23,6 @@
 #include "includes.h"
 #include "auth/auth.h"
 #include "lib/events/events.h"
-#include "build.h"
 #include "librpc/rpc/dcerpc.h"
 #include "auth/credentials/credentials.h"
 #include "auth/gensec/gensec.h"
@@ -1267,6 +1266,12 @@ static int sort_gensec(struct gensec_security_ops **gs1, struct gensec_security_
 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 d7799649a7fd0c5e971e83e66831b97b59823ce7..f497684453982e89f6dbe1ef8023eaf30e61371c 100644 (file)
@@ -6,35 +6,26 @@ dnl  Released under the GNU GPL
 dnl -------------------------------------------------------
 dnl
 
-AC_PATH_PROG(MAKE,make)
+AC_PATH_PROGS(MAKE,gmake make)
 
 AC_CACHE_CHECK([whether we have GNU make], samba_cv_gnu_make, [
-if $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
+if $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
 then
-       samba_cv_gnu_make=yes
-else
-       samba_cv_gnu_make=no
+       AC_MSG_ERROR([Unable to find GNU make])
 fi
 ])
 
-GNU_MAKE=$samba_cv_gnu_make
-AC_SUBST(GNU_MAKE)
-
-if test "x$GNU_MAKE" = x"yes"; then
-       AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
+AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
                samba_cv_gnu_make_version=`$ac_cv_path_MAKE --version | head -1 | cut -d " " -f 3 2>/dev/null`
        ])
        GNU_MAKE_VERSION=$samba_cv_gnu_make_version
        AC_SUBST(GNU_MAKE_VERSION)
-fi
 
 
 new_make=no
 AC_MSG_CHECKING([for GNU make >= 3.81])
-if test x$GNU_MAKE = x"yes"; then
-       if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
-               new_make=yes
-       fi
+if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
+       new_make=yes
 fi
 AC_MSG_RESULT($new_make)
 automatic_dependencies=no
@@ -46,11 +37,3 @@ AC_ARG_ENABLE(automatic-dependencies,
 [ automatic_dependencies=no ])
 AC_MSG_RESULT($automatic_dependencies)
 AC_SUBST(automatic_dependencies)
-
-FIRST_PREREQ="\$*.c"
-AC_SUBST(FIRST_PREREQ)
-
-if test x$GNU_MAKE = xyes; then
-       FIRST_PREREQ="\$<"
-fi
-
diff --git a/source4/build/make/python.mk b/source4/build/make/python.mk
new file mode 100644 (file)
index 0000000..57bf016
--- /dev/null
@@ -0,0 +1,58 @@
+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
similarity index 68%
rename from source4/rules.mk
rename to source4/build/make/rules.mk
index 9791466712368350492dec554b05917706377751..44277fe3e201473afd11b73168f34c70ad962f34 100644 (file)
@@ -1,61 +1,42 @@
+# Rules file for Samba 4
+# This relies on GNU make.
+#
 # Dependencies command
 DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
-    $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+    $(CFLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for host objects
 HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ \
-    $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+    $(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for precompiled headers
 PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
-    $(CFLAGS) $(CPPFLAGS) $(FIRST_PREREQ) -o $@
-
-# $< is broken in older BSD versions:
-# when $@ is foo/bar.o, $< could be torture/foo/bar.c
-# if it also exists. So better use $* which is foo/bar
-# and append .c manually to get foo/bar.c
-#
-# If we have GNU Make, it is safe to use $<, which also lets
-# building with $srcdir != $builddir work.
+    $(CFLAGS) $(CPPFLAGS) $< -o $@
 
 # Run a static analysis checker
-CHECK = $(CC_CHECKER) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(PICFLAG) $(CPPLAGS) -c $(FIRST_PREREQ) -o $@
+CHECK = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) $(CPPLAGS) -c $< -o $@
 
 # Run the configured compiler
 COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
-          `$(PERL) $(srcdir)/script/cflags.pl $@` \
                  $(CPPFLAGS) \
-                 -c $(FIRST_PREREQ) -o $@
+                 -c $< -o $@
 
 # Run the compiler for the build host
-HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-        $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) $(CPPFLAGS) -c $< -o $@
 
 # Precompile headers
 PCHCOMPILE = @$(CC) -Ilib/replace \
-    $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(PICFLAG) $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+    $(CFLAGS) $(PICFLAG) $(CPPFLAGS) -c $< -o $@
 
 # 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
@@ -107,6 +88,54 @@ 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) --all=$$@ $$^
+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
+
 ###############################################################################
 # File types
 ###############################################################################
@@ -134,9 +163,11 @@ include/includes.d: include/includes.h
        @-mkdir -p `dirname $@`
        @$(COMPILE) && exit 0 ; \
                echo "The following command failed:" 1>&2;\
-               echo "$(COMPILE)" 1>&2;\
                $(COMPILE) >/dev/null 2>&1
 
+
+#              echo "$(COMPILE)" 1>&2;\
+
 .c.ho:
        @echo "Compiling $< with host compiler"
        @-mkdir -p `dirname $@`
@@ -151,11 +182,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
 
@@ -174,9 +212,6 @@ DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpage
 .8.xml.8:
        $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
 
-DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
-                  include/includes.d
-
 dist:: idl_full manpages configure distclean 
 
 configure: 
index a5e4db99e0cc88acd8c9a2a199081954f5616e50..eac3905ccef651753cc88f222f624d096e996908 100644 (file)
@@ -1,6 +1,5 @@
 The Samba Build System\r
-----------------------\r
-----------------------\r
+======================\r
 \r
 The build system basically has two main parts: the autoconf-generated \r
 shell scripts which check for availability of functions and libraries \r
@@ -29,7 +28,7 @@ EXT_LIB:
 BINARY:\r
        a BINARY means a executable binary file.\r
        (e.g. 'smbtorture' or 'ldbedit')\r
-       a BINARY typicly has only commandline handling and basic \r
+       a BINARY typically has only commandline handling and basic \r
        functionality code in it and depends on the functions of\r
        SUBSYSTEM's (REQUIRED_SUBSYSTEMS).\r
 \r
@@ -50,8 +49,6 @@ input.pm - Input validation
 main.pm - Main\r
 makefile.pm - Makefile generation\r
 output.pm - Dependency calculation\r
-header.pm - build.h generation\r
-cflags.pm - Generates cflags.txt for file-specific cflags\r
 \r
 Layout\r
 -------\r
diff --git a/source4/build/smb_build/cflags.pm b/source4/build/smb_build/cflags.pm
deleted file mode 100755 (executable)
index a4ab90a..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# SMB Build System
-#
-#  Copyright (C) Jelmer Vernooij 2006
-#  Released under the GNU GPL
-
-package cflags;
-use strict;
-
-my $sort_available = eval "use sort 'stable'; return 1;";
-$sort_available = 0 unless defined($sort_available);
-
-sub by_path {
-       return  1 if($a =~ m#^\-I/#);
-       return -1 if($b =~ m#^\-I/#);
-       return  0;
-}
-
-sub create_cflags($$$$) {
-       my $CTX = shift;
-       my $srcdir = shift;
-       my $builddir = shift;
-       my $file = shift;
-
-       open(CFLAGS_TXT,">$file") || die ("Can't open `$file'\n");
-
-       print CFLAGS_TXT "include mkconfig.mk\n";
-
-       my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
-
-       foreach my $key (values %{$CTX}) {
-               next unless defined ($key->{OBJ_LIST});
-               next unless defined ($key->{FINAL_CFLAGS});
-               next unless (@{$key->{FINAL_CFLAGS}} > 0);
-
-               my @sorted_cflags = @{$key->{FINAL_CFLAGS}};
-               if ($sort_available) {
-                       @sorted_cflags = sort by_path @{$key->{FINAL_CFLAGS}};
-               }
-
-               # Rewrite CFLAGS so that both the source and the build
-               # directories are in the path.
-               my @cflags = ();
-               foreach my $flag (@sorted_cflags) {
-                       if($src_ne_build) {
-                               if($flag =~ m#^-I([^/].*$)#) {
-                                       my $dir = $1;
-                                       $dir =~ s#^\$\((?:src|build)dir\)/?##;
-                                       push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
-                                       next;
-                               }
-                       }
-                       push(@cflags, $flag);
-               }
-               
-               my $cflags = join(' ', @cflags);
-
-               foreach (@{$key->{OBJ_LIST}}) {
-                       my $ofile = $_;
-                       my $dfile = $_;
-                       $dfile =~ s/\.o$/.d/;
-                       $dfile =~ s/\.ho$/.d/;
-                       print CFLAGS_TXT "$ofile $dfile: CFLAGS+= $cflags\n";
-               }
-       }
-       close(CFLAGS_TXT);
-
-       print __FILE__.": creating $file\n";
-}
-1;
index 4d8db8a04ea54418a9ed74049d19ffc4174f1693..7e0d2f8f56b7ac2aa56619e1cbf8814adce21932 100644 (file)
@@ -36,13 +36,8 @@ my $section_types = {
 
                "ENABLE"                => "bool",
 
-               "MANPAGE"               => "string",
-
-               "PUBLIC_PROTO_HEADER"   => "string",
                "PRIVATE_PROTO_HEADER"  => "string",
 
-               "PUBLIC_HEADERS"        => "list",
-
                "CFLAGS"                => "list",
                "LDFLAGS"               => "list",
                "STANDARD_VISIBILITY"   => "string",
@@ -62,7 +57,6 @@ my $section_types = {
 
                "OUTPUT_TYPE"           => "list",
 
-               "MANPAGE"               => "string",
                "PRIVATE_PROTO_HEADER"  => "string",
 
                "CFLAGS"                => "list"
@@ -74,7 +68,6 @@ my $section_types = {
 
                "ENABLE"                => "bool",
 
-               "MANPAGE"               => "string",
                "INSTALLDIR"            => "string",
                "PRIVATE_PROTO_HEADER"  => "string",
 
@@ -102,11 +95,6 @@ my $section_types = {
 
                "ENABLE"                => "bool",
 
-               "MANPAGE"               => "string",
-
-               "PUBLIC_HEADERS"        => "list",
-
-               "PUBLIC_PROTO_HEADER"   => "string",
                "PRIVATE_PROTO_HEADER"  => "string",
 
                "CFLAGS"                => "list",
@@ -245,6 +233,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;
                }
@@ -263,7 +252,6 @@ sub run_config_mk($$$$)
                        $infragment = 1;
                        next;
                }
-
                
                # Assignment
                if ($line =~ /^([a-zA-Z0-9_]+)[\t ]*=(.*)$/) {
diff --git a/source4/build/smb_build/env.pm b/source4/build/smb_build/env.pm
deleted file mode 100644 (file)
index 76cd8d1..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# Environment class
-#
-# Samba Build Environment
-#
-# (C) 2005 Jelmer Vernooij <jelmer@samba.org>
-#
-# Published under the GNU GPL
-
-package smb_build::env;
-use smb_build::input;
-use File::Path;
-use File::Basename;
-
-use strict;
-
-sub new($$)
-{ 
-       my ($name, $config) = @_;
-       my $self = { };
-       bless $self, $name;
-
-       $self->{items} = {};
-       $self->{info} = {};
-       
-       $self->_set_config($config);
-
-       return $self;
-}
-
-sub _set_config($$)
-{
-       my ($self, $config) = @_;
-
-       $self->{config} = $config;
-
-       if (not defined($self->{config}->{srcdir})) {
-               $self->{config}->{srcdir} = '.';
-       }
-
-       if (not defined($self->{config}->{builddir})) {
-               $self->{config}->{builddir}  = '.';
-       }
-
-       if ($self->{config}->{prefix} eq "NONE") {
-               $self->{config}->{prefix} = $self->{config}->{ac_default_prefix};
-       }
-
-       if ($self->{config}->{exec_prefix} eq "NONE") {
-               $self->{config}->{exec_prefix} = $self->{config}->{prefix};
-       }
-       
-       $self->{developer} = ($self->{config}->{developer} eq "yes");
-       $self->{gnu_make} = ($self->{config}->{GNU_MAKE} eq "yes");
-       $self->{automatic_deps} = ($self->{config}->{automatic_dependencies} eq "yes");
-}
-
-1;
diff --git a/source4/build/smb_build/header.pm b/source4/build/smb_build/header.pm
deleted file mode 100644 (file)
index c2bdbaf..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-# SMB Build System
-# - create output for build.h
-#
-#  Copyright (C) Stefan (metze) Metzmacher 2004
-#  Copyright (C) Jelmer Vernooij 2005
-#  Released under the GNU GPL
-
-package header;
-use strict;
-
-sub _add_define_section($)
-{
-       my $DEFINE = shift;
-       my $output = "";
-
-       $output .= "
-/* $DEFINE->{COMMENT} */
-#define $DEFINE->{KEY} $DEFINE->{VAL}
-";
-
-       return $output;
-}
-
-sub _prepare_build_h($)
-{
-       my $depend = shift;
-       my @defines = ();
-       my $output = "";
-
-       foreach my $key (values %$depend) {
-               my $DEFINE = ();
-               next if ($key->{TYPE} ne "LIBRARY" and 
-                                $key->{TYPE} ne "MODULE" and
-                                $key->{TYPE} ne "SUBSYSTEM" and
-                                $key->{TYPE} ne "BINARY");
-               next unless defined($key->{INIT_FUNCTIONS});
-
-               my $name = $key->{NAME};
-               $name =~ s/-/_/g;
-               $DEFINE->{COMMENT} = "$key->{TYPE} $key->{NAME} INIT";
-               $DEFINE->{KEY} = "STATIC_$name\_MODULES";
-               $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";
-                               }
-                       }
-               }
-
-               $DEFINE->{VAL} .= "\t$key->{INIT_FUNCTION_SENTINEL} \n";
-
-               push(@defines,$DEFINE);
-       }
-
-       #
-       # loop over all BUILD_H define sections
-       #
-       foreach (@defines) { $output .= _add_define_section($_); }
-
-       return $output;
-}
-
-###########################################################
-# This function creates include/build.h from the SMB_BUILD 
-# context
-#
-# create_build_h($SMB_BUILD_CTX)
-#
-# $SMB_BUILD_CTX -     the global SMB_BUILD context
-#
-# $output -            the resulting output buffer
-sub create_smb_build_h($$)
-{
-       my ($CTX, $file) = @_;
-
-       open(BUILD_H,">$file") || die ("Can't open `$file'\n");
-       print BUILD_H "/* autogenerated by build/smb_build/main.pl */\n";
-       print BUILD_H _prepare_build_h($CTX);
-       close(BUILD_H);
-
-       print __FILE__.": creating $file\n";
-}
-
-1;
index 8c9a6efacc3d7f79bb2ea0f4dccfdbf30a556f3c..948f2657b4cb7a9bca621d42646ac78b8696c6aa 100644 (file)
@@ -233,14 +233,6 @@ sub check($$$$$)
        my ($INPUT, $enabled, $subsys_ot, $lib_ot, $module_ot) = @_;
 
        foreach my $part (values %$INPUT) {
-               unless (defined($part->{PUBLIC_HEADERS})) {
-                       $part->{PUBLIC_HEADERS} = [];
-               }
-               
-               if (defined($part->{PUBLIC_PROTO_HEADER})) {
-                       push (@{$part->{PUBLIC_HEADERS}}, $part->{PUBLIC_PROTO_HEADER});
-               }
-
                if (defined($enabled->{$part->{NAME}})) { 
                        $part->{ENABLE} = $enabled->{$part->{NAME}};
                        next;
index 3ed0327d6d7fef90c7adff22d1abe16dd359cef3..cb7bf7439ec30291898fd5b2d8a81750ce70995d 100644 (file)
@@ -6,12 +6,9 @@
 #  Released under the GNU GPL                          
 
 use smb_build::makefile;
-use smb_build::header;
 use smb_build::input;
 use smb_build::config_mk;
 use smb_build::output;
-use smb_build::env;
-use smb_build::cflags;
 use smb_build::summary;
 use smb_build::config;
 use strict;
@@ -53,10 +50,10 @@ foreach my $key (values %$OUTPUT) {
 foreach my $key (values %$OUTPUT) {
        next unless defined $key->{OUTPUT_TYPE};
 
+       $mkenv->StaticLibraryPrimitives($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        $mkenv->MergedObj($key) if grep(/MERGED_OBJ/, @{$key->{OUTPUT_TYPE}});
-       $mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        if (defined($key->{PC_FILE})) {
-               push(@{$mkenv->{pc_files}}, "$key->{BASEDIR}/$key->{PC_FILE}");
+               $mkenv->output("PC_FILES += $key->{BASEDIR}/$key->{PC_FILE}\n");
        } 
        $mkenv->SharedLibraryPrimitives($key) if ($key->{TYPE} eq "LIBRARY") and
                                        grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
@@ -64,40 +61,36 @@ foreach my $key (values %$OUTPUT) {
            ${$key->{OUTPUT_TYPE}}[0] eq "SHARED_LIBRARY") {
                $shared_libs_used = 1;
        }
-       $mkenv->SharedModulePrimitives($key) if ($key->{TYPE} eq "MODULE" or 
-                                                                  $key->{TYPE} eq "PYTHON") and
-                                       grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
        $mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES});
-       $mkenv->Manpage($key) if defined($key->{MANPAGE});
-       $mkenv->Header($key) if defined($key->{PUBLIC_HEADERS});
-       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or 
-                                        defined($key->{PUBLIC_PROTO_HEADER});
+       if ($key->{TYPE} eq "MODULE" and @{$key->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ" and defined($key->{INIT_FUNCTION})) {
+               $mkenv->output("$key->{SUBSYSTEM}_INIT_FUNCTIONS += $key->{INIT_FUNCTION},\n");
+       }
+       $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->SharedModule($key) if ($key->{TYPE} eq "MODULE" and
+                                       grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}));
+       $mkenv->PythonModule($key) if ($key->{TYPE} eq "PYTHON");
        $mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}});
+       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or 
+                                        defined($key->{PUBLIC_PROTO_HEADER});
+       $mkenv->InitFunctions($key) if defined($key->{INIT_FUNCTIONS});
 }
 
 $mkenv->write("data.mk");
-header::create_smb_build_h($OUTPUT, "include/build.h");
-
-cflags::create_cflags($OUTPUT, $config::config{srcdir},
-                   $config::config{builddir}, "extra_cflags.txt");
 
 summary::show($OUTPUT, \%config::config);
 
-if ($shared_libs_used) {
-       print <<EOF;
-To run binaries without installing, set the following environment variable:
-       $config::config{LIB_PATH_VAR}=$config::config{builddir}/bin/shared
-EOF
-}
-
 1;
index 29da771353b1b9f0d0cc3e97f9ab9d5e54b1fa93..9aa4e409bd6fcdfe0d6b4fc8060998267de02f57 100644 (file)
@@ -6,32 +6,21 @@
 #  Released under the GNU GPL
 
 package smb_build::makefile;
-use smb_build::env;
 use smb_build::output;
 use File::Basename;
 use strict;
 
-use base 'smb_build::env';
 use Cwd 'abs_path';
 
 sub new($$$)
 {
        my ($myname, $config, $mkfile) = @_;
-       my $self = new smb_build::env($config);
-       
+       my $self = {};
+
        bless($self, $myname);
 
-       $self->{manpages} = [];
-       $self->{sbin_progs} = [];
-       $self->{bin_progs} = [];
-       $self->{static_libs} = [];
-       $self->{python_dsos} = [];
-       $self->{python_pys} = [];
-       $self->{shared_libs} = [];
-       $self->{headers} = [];
-       $self->{plugins} = [];
-       $self->{pc_files} = [];
-       $self->{proto_headers} = [];
+       $self->_set_config($config);
+
        $self->{output} = "";
 
        $self->{mkfile} = $mkfile;
@@ -41,12 +30,30 @@ sub new($$$)
        $self->output("################################################\n");
        $self->output("\n");
 
-       if (!$self->{automatic_deps}) {
-               $self->output("ALL_PREDEP = proto\n");
-               $self->output(".NOTPARALLEL:\n");
+       return $self;
+}
+
+sub _set_config($$)
+{
+       my ($self, $config) = @_;
+
+       $self->{config} = $config;
+
+       if (not defined($self->{config}->{srcdir})) {
+               $self->{config}->{srcdir} = '.';
        }
 
-       return $self;
+       if (not defined($self->{config}->{builddir})) {
+               $self->{config}->{builddir}  = '.';
+       }
+
+       if ($self->{config}->{prefix} eq "NONE") {
+               $self->{config}->{prefix} = $self->{config}->{ac_default_prefix};
+       }
+
+       if ($self->{config}->{exec_prefix} eq "NONE") {
+               $self->{config}->{exec_prefix} = $self->{config}->{prefix};
+       }
 }
 
 sub output($$)
@@ -66,23 +73,17 @@ sub _prepare_mk_files($)
                push (@tmp, $_);
        }
 
-       if ($self->{gnu_make}) {
-               $self->output("
+       $self->output("
 ifneq (\$(MAKECMDGOALS),clean)
 ifneq (\$(MAKECMDGOALS),distclean)
 ifneq (\$(MAKECMDGOALS),realdistclean)
 ");
-       }
-
        $self->output("MK_FILES = " . array2oneperline(\@tmp) . "\n");
-
-       if ($self->{gnu_make}) {
-               $self->output("
+       $self->output("
 endif
 endif
 endif
 ");
-       }
 }
 
 sub array2oneperline($)
@@ -112,46 +113,43 @@ sub _prepare_list($$$)
        $self->output("$ctx->{NAME}_$var =$tmplist\n");
 }
 
-sub SharedModulePrimitives($$)
+sub PythonModule($$)
 {
        my ($self,$ctx) = @_;
-       
-       #FIXME
+
+       $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
+       $self->_prepare_list($ctx, "FULL_OBJ_LIST");
+       $self->_prepare_list($ctx, "DEPEND_LIST");
+       $self->_prepare_list($ctx, "LINK_FLAGS");
+
+       $self->output("\$(eval \$(call python_c_module_template,$ctx->{LIBRARY_REALNAME},\$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS)))\n");
 }
 
 sub SharedModule($$)
 {
        my ($self,$ctx) = @_;
 
-       my $init_obj = "";
-
        my $sane_subsystem = lc($ctx->{SUBSYSTEM});
        $sane_subsystem =~ s/^lib//;
        
-       if ($ctx->{TYPE} eq "PYTHON") {
-               push (@{$self->{python_dsos}}, 
-                       "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}");
-       } else {
-               push (@{$self->{plugins}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}");
-               $self->output("installplugins:: $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
-               $self->output("\t\@echo Installing $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} as \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-               $self->output("\t\@mkdir -p \$(DESTDIR)\$(modulesdir)/$sane_subsystem/\n");
-               $self->output("\t\@cp $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-               if (defined($ctx->{ALIASES})) {
-                       foreach (@{$ctx->{ALIASES}}) {
-                               $self->output("\t\@rm -f \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
-                               $self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
-                       }
+       $self->output("PLUGINS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("installplugins:: $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("\t\@echo Installing $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} as \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("\t\@mkdir -p \$(DESTDIR)\$(modulesdir)/$sane_subsystem/\n");
+       $self->output("\t\@cp $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
+       if (defined($ctx->{ALIASES})) {
+               foreach (@{$ctx->{ALIASES}}) {
+                       $self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
                }
+       }
 
-               $self->output("uninstallplugins::\n");
-               $self->output("\t\@echo Uninstalling \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-               $self->output("\t\@-rm \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("uninstallplugins::\n");
+       $self->output("\t\@echo Uninstalling \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("\t\@-rm \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
 
-               if (defined($ctx->{ALIASES})) {
-                       foreach (@{$ctx->{ALIASES}}) {
-                               $self->output("\t\@-rm \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
-                       }
+       if (defined($ctx->{ALIASES})) {
+               foreach (@{$ctx->{ALIASES}}) {
+                       $self->output("\t\@-rm \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
                }
        }
 
@@ -160,47 +158,19 @@ sub SharedModule($$)
        $self->_prepare_list($ctx, "DEPEND_LIST");
        $self->_prepare_list($ctx, "LINK_FLAGS");
 
-       if (defined($ctx->{INIT_FUNCTION}) and $ctx->{TYPE} ne "PYTHON" and 
-               $ctx->{INIT_FUNCTION_TYPE} =~ /\(\*\)/) {
-               my $init_fn = $ctx->{INIT_FUNCTION_TYPE};
-               $init_fn =~ s/\(\*\)/init_module/;
-               my $proto_fn = $ctx->{INIT_FUNCTION_TYPE};
-               $proto_fn =~ s/\(\*\)/$ctx->{INIT_FUNCTION}/;
-
-               $self->output(<< "__EOD__"
-bin/$ctx->{NAME}_init_module.c:
-       \@echo Creating \$\@
-       \@echo \"#include \\\"includes.h\\\"\" > \$\@
-       \@echo \"$proto_fn;\" >> \$\@
-       \@echo \"_PUBLIC_ $init_fn\" >> \$\@
-       \@echo \"{\" >> \$\@
-       \@echo \"       return $ctx->{INIT_FUNCTION}();\" >> \$\@
-       \@echo \"}\" >> \$\@
-       \@echo \"\" >> \$\@
-__EOD__
-);
-               $init_obj = "bin/$ctx->{NAME}_init_module.o";
+       if (defined($ctx->{INIT_FUNCTION}) and $ctx->{INIT_FUNCTION_TYPE} =~ /\(\*\)/) {
+               $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-D$ctx->{INIT_FUNCTION}=init_module\n");
        }
 
-       $self->output(<< "__EOD__"
-#
-
-$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST) $init_obj
-       \@echo Linking \$\@
-       \@mkdir -p $ctx->{SHAREDDIR}
-       \@\$(MDLD) \$(LDFLAGS) \$(MDLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
-               \$($ctx->{NAME}\_FULL_OBJ_LIST) $init_obj \\
-               \$($ctx->{NAME}_LINK_FLAGS)
-__EOD__
-);
+       $self->output("\$(eval \$(call shared_module_template,$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS)))\n");
 
        if (defined($ctx->{ALIASES})) {
                foreach (@{$ctx->{ALIASES}}) {
-                       $self->output("\t\@rm -f $ctx->{SHAREDDIR}/$_.\$(SHLIBEXT)\n");
-                       $self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$_.\$(SHLIBEXT)\n");
+                       $self->output("$ctx->{SHAREDDIR}/$_.\$(SHLIBEXT): $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
+                       $self->output("\t\@ln -fs \$(<F) \$@\n");
+                       $self->output("PLUGINS += $ctx->{SHAREDDIR}/$_.\$(SHLIBEXT)\n");
                }
        }
-       $self->output("\n");
 }
 
 sub SharedLibraryPrimitives($$)
@@ -220,36 +190,27 @@ sub SharedLibrary($$)
 {
        my ($self,$ctx) = @_;
 
-       push (@{$self->{shared_libs}}, $ctx->{RESULT_SHARED_LIBRARY}) if (defined($ctx->{SO_VERSION}));
+       $self->output("SHARED_LIBS += $ctx->{RESULT_SHARED_LIBRARY}\n") if (defined($ctx->{SO_VERSION}));
 
        $self->_prepare_list($ctx, "DEPEND_LIST");
        $self->_prepare_list($ctx, "LINK_FLAGS");
 
-       my $soarg = "";
-       my $lns = "";
-       if ($self->{config}->{SONAMEFLAG} ne "#" and defined($ctx->{LIBRARY_SONAME})) {
-               $soarg = "$self->{config}->{SONAMEFLAG}$ctx->{LIBRARY_SONAME}";
-               if ($ctx->{LIBRARY_REALNAME} ne $ctx->{LIBRARY_SONAME}) {
-                       $lns .= "\n\t\@test \$($ctx->{NAME}_VERSION) = \$($ctx->{NAME}_SOVERSION) || ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}";
-               }
-       }
-
-       if (defined($ctx->{LIBRARY_SONAME})) {
-               $lns .= "\n\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}";
-       }
-
        $self->output(<< "__EOD__"
-#
 $ctx->{RESULT_SHARED_LIBRARY}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
        \@echo Linking \$\@
-       \@mkdir -p $ctx->{SHAREDDIR}
+       \@mkdir -p \$(\@D)
        \@\$(SHLD) \$(LDFLAGS) \$(SHLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
                \$($ctx->{NAME}\_FULL_OBJ_LIST) \\
                \$($ctx->{NAME}_LINK_FLAGS) \\
-               $soarg$lns
+               \$(if \$(SONAMEFLAG), \$(SONAMEFLAG)$ctx->{LIBRARY_SONAME})
+ifneq ($ctx->{LIBRARY_REALNAME}, $ctx->{LIBRARY_SONAME})
+       \@test \$($ctx->{NAME}_VERSION) = \$($ctx->{NAME}_SOVERSION) || ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}
+endif
+ifdef $ctx->{NAME}_SOVERSION
+       \@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}
+endif
 __EOD__
 );
-       $self->output("\n");
 }
 
 sub MergedObj($$)
@@ -259,78 +220,56 @@ sub MergedObj($$)
        return unless defined($ctx->{OUTPUT});
 
        $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
-       $self->output(<< "__EOD__"
-#
-$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_LIST)
-       \@echo Partially linking \$@
-       \@mkdir -p bin/mergedobj
-       \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_LIST)
-
-__EOD__
-);
+       $self->output("\$(call partial_link_template, \$($ctx->{NAME}_OUTPUT), \$($ctx->{NAME}_OBJ_LIST))\n");
 }
 
-sub StaticLibrary($$)
+sub StaticLibraryPrimitives($$)
 {
        my ($self,$ctx) = @_;
 
        return unless (defined($ctx->{OBJ_FILES}));
 
-       push (@{$self->{static_libs}}, $ctx->{RESULT_STATIC_LIBRARY}) 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");
+sub InitFunctions($$)
+{
+       my ($self, $ctx) = @_;
+       $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-DSTATIC_$ctx->{NAME}_MODULES=\"\$($ctx->{NAME}_INIT_FUNCTIONS)$ctx->{INIT_FUNCTION_SENTINEL}\"\n");
 }
 
-sub Header($$)
+sub StaticLibrary($$)
 {
        my ($self,$ctx) = @_;
 
-       foreach (@{$ctx->{PUBLIC_HEADERS}}) {
-               push (@{$self->{headers}}, output::add_dir_str($ctx->{BASEDIR}, $_));
-       }
+       return unless (defined($ctx->{OBJ_FILES}));
+
+       $self->output("STATIC_LIBS += $ctx->{RESULT_STATIC_LIBRARY}\n") if ($ctx->{TYPE} eq "LIBRARY");
+       $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
+       $self->output("$ctx->{RESULT_STATIC_LIBRARY}: \$($ctx->{NAME}_FULL_OBJ_LIST)\n");
 }
 
 sub Binary($$)
 {
        my ($self,$ctx) = @_;
 
-       my $extradir = "";
-
        unless (defined($ctx->{INSTALLDIR})) {
+               $self->output("binaries:: $ctx->{TARGET_BINARY}\n");
        } elsif ($ctx->{INSTALLDIR} eq "SBINDIR") {
-               push (@{$self->{sbin_progs}}, $ctx->{RESULT_BINARY});
+               $self->output("SBIN_PROGS += $ctx->{RESULT_BINARY}\n");
        } elsif ($ctx->{INSTALLDIR} eq "BINDIR") {
-               push (@{$self->{bin_progs}}, $ctx->{RESULT_BINARY});
+               $self->output("BIN_PROGS += $ctx->{RESULT_BINARY}\n");
        }
 
-       $self->output("binaries:: $ctx->{TARGET_BINARY}\n");
-
        $self->_prepare_list($ctx, "FULL_OBJ_LIST");
        $self->_prepare_list($ctx, "DEPEND_LIST");
        $self->_prepare_list($ctx, "LINK_FLAGS");
 
-$self->output(<< "__EOD__"
-$ctx->{RESULT_BINARY}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
-       \@echo Linking \$\@
-__EOD__
-       );
-
        if (defined($ctx->{USE_HOSTCC}) && $ctx->{USE_HOSTCC} eq "YES") {
-               $self->output(<< "__EOD__"
-       \@\$(HOSTLD) \$(HOSTLD_FLAGS) -L\${builddir}/bin/static -o \$\@ \$(INSTALL_LINK_FLAGS) \\
-               \$\($ctx->{NAME}_LINK_FLAGS)
-__EOD__
-               );
+$self->output("\$(call host_binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n");
        } else {
-               $self->output(<< "__EOD__"
-       \@\$(BNLD) \$(BNLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
-               \$\($ctx->{NAME}_LINK_FLAGS) 
-
-__EOD__
-               );
+$self->output("\$(call binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n");
        }
 }
 
@@ -339,110 +278,80 @@ sub PythonFiles($$)
        my ($self,$ctx) = @_;
 
        foreach (@{$ctx->{PYTHON_FILES}}) {
-               my $target = "bin/python/".basename($_);
-               my $source = output::add_dir_str($ctx->{BASEDIR}, $_);
-               $self->output("$target: $source\n" .
-                                         "\tmkdir -p \$(builddir)/bin/python\n" .
-                             "\tcp $source \$@\n\n");
-               push (@{$self->{python_pys}}, $target);
+               $self->output("\$(eval \$(call python_py_module_template," . basename($_) . ",\$(addprefix $ctx->{BASEDIR}/, $_)))\n");
        }
 }
 
-sub Manpage($$)
+sub ProtoHeader($$)
 {
        my ($self,$ctx) = @_;
 
-       my $path = output::add_dir_str($ctx->{BASEDIR}, $ctx->{MANPAGE});
-       push (@{$self->{manpages}}, $path);
+       my $target = "\$(addprefix $ctx->{BASEDIR}/, $ctx->{PRIVATE_PROTO_HEADER})";
+       $self->output("PROTO_HEADERS += $target\n");
+       $self->output("\$(call proto_header_template, $target, \$($ctx->{NAME}_OBJ_LIST:.o=.c))\n");
 }
 
-sub ProtoHeader($$)
+sub write($$)
 {
-       my ($self,$ctx) = @_;
+       my ($self, $file) = @_;
 
-       my $target = "";
-       my $comment = "Creating ";
+       $self->_prepare_mk_files();
 
-       my $priv = undef;
-       my $pub = undef;
+       $self->output($self->{mkfile});
 
-       if (defined($ctx->{PRIVATE_PROTO_HEADER})) {
-               $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
-               $target .= $priv;
-               $comment .= $priv;
-               if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-                       $comment .= " and ";
-                       $target.= " ";
-               }
-               push (@{$self->{proto_headers}}, $priv);
-       } else {
-               $ctx->{PRIVATE_PROTO_HEADER} = $ctx->{PUBLIC_PROTO_HEADER};
-               $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
-       }
+       open(MAKEFILE,">$file") || die ("Can't open $file\n");
+       print MAKEFILE $self->{output};
+       close(MAKEFILE);
 
-       if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-               $pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
-               $comment .= $pub;
-               $target .= $pub;
-               push (@{$self->{proto_headers}}, $pub);
-       } else {
-               $ctx->{PUBLIC_PROTO_HEADER} = $ctx->{PRIVATE_PROTO_HEADER};
-               $pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
-       }
+       print __FILE__.": creating $file\n";
+}
+
+my $sort_available = eval "use sort 'stable'; return 1;";
+$sort_available = 0 unless defined($sort_available);
 
-       $self->output("$pub: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
-       $self->output("\t\@echo \"$comment\"\n");
-       $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --private=$priv --public=$pub \$($ctx->{NAME}_OBJ_LIST)\n\n");
+sub by_path {
+       return  1 if($a =~ m#^\-I/#);
+       return -1 if($b =~ m#^\-I/#);
+       return  0;
 }
 
-sub write($$)
+sub CFlags($$)
 {
-       my ($self, $file) = @_;
+       my ($self, $key) = @_;
 
-       $self->output("MANPAGES = " . array2oneperline($self->{manpages})."\n");
-       $self->output("BIN_PROGS = " . array2oneperline($self->{bin_progs}) . "\n");
-       $self->output("SBIN_PROGS = " . array2oneperline($self->{sbin_progs}) . "\n");
-       $self->output("STATIC_LIBS = " . array2oneperline($self->{static_libs}) . "\n");
-       $self->output("SHARED_LIBS = " . array2oneperline($self->{shared_libs}) . "\n");
-       $self->output("PYTHON_DSOS = " . array2oneperline($self->{python_dsos}) . "\n");
-       $self->output("PYTHON_PYS = " . array2oneperline($self->{python_pys}) . "\n");
-       $self->output("PUBLIC_HEADERS = " . array2oneperline($self->{headers}) . "\n");
-       $self->output("PC_FILES = " . array2oneperline($self->{pc_files}) . "\n");
-       $self->output("ALL_OBJS = " . array2oneperline($self->{all_objs}) . "\n");
-       $self->output("PROTO_HEADERS = " . array2oneperline($self->{proto_headers}) .  "\n");
-       $self->output("PLUGINS = " . array2oneperline($self->{plugins}) . "\n");
+       my $srcdir = $self->{config}->{srcdir};
+       my $builddir = $self->{config}->{builddir};
 
-       $self->_prepare_mk_files();
+       my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
 
-       $self->output($self->{mkfile});
+       return unless defined ($key->{OBJ_LIST});
+       return unless defined ($key->{FINAL_CFLAGS});
+       return unless (@{$key->{FINAL_CFLAGS}} > 0);
 
-       if ($self->{automatic_deps}) {
-               $self->output("
-ifneq (\$(MAKECMDGOALS),clean)
-ifneq (\$(MAKECMDGOALS),distclean)
-ifneq (\$(MAKECMDGOALS),realdistclean)
-ifneq (\$(SKIP_DEP_FILES),yes)
--include \$(DEP_FILES)
-endif
-endif
-endif
-endif
-
-ifneq (\$(SKIP_DEP_FILES),yes)
-clean::
-       \@echo Removing dependency files
-       \@find . -name '*.d' -o -name '*.hd' | xargs rm -f
-endif
-");
-       } else {
-               $self->output("include \$(srcdir)/static_deps.mk\n");
+       my @sorted_cflags = @{$key->{FINAL_CFLAGS}};
+       if ($sort_available) {
+               @sorted_cflags = sort by_path @{$key->{FINAL_CFLAGS}};
        }
 
-       open(MAKEFILE,">$file") || die ("Can't open $file\n");
-       print MAKEFILE $self->{output};
-       close(MAKEFILE);
+       # Rewrite CFLAGS so that both the source and the build
+       # directories are in the path.
+       my @cflags = ();
+       foreach my $flag (@sorted_cflags) {
+               if($src_ne_build) {
+                       if($flag =~ m#^-I([^/].*$)#) {
+                               my $dir = $1;
+                               $dir =~ s#^\$\((?:src|build)dir\)/?##;
+                               push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
+                               next;
+                       }
+               }
+               push(@cflags, $flag);
+       }
+       
+       my $cflags = join(' ', @cflags);
 
-       print __FILE__.": creating $file\n";
+       my $ext = "o";
+       $self->output("\$($key->{NAME}_OBJ_LIST) \$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_LIST:.o=.d)): CFLAGS+=$cflags\n");
 }
 
 1;
index ff9afe8e8c9f09d459bd0c7e86160070ab3a1f91..eec438b1082c560f16712994bec9d9a857b18988 100644 (file)
@@ -9,38 +9,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($)
 {
        my $lib = shift;
@@ -168,8 +136,15 @@ sub create_output($$)
                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});
+               if (defined($part->{OBJ_FILES})) {
+                       my $list;
+
+                       $list = join(" ", @{$part->{OBJ_FILES}});
+                       unless ($list =~ /^\.\//) {
+                               $list = "\$(addprefix $part->{BASEDIR}/, $list)"
+                       } 
+                       push(@{$part->{OBJ_LIST}}, $list);
+               }
 
                generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}});
                generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
index b609b4f52c89b193ed400899ca27fc73cbc9b430..5ba441375c5d6f4d61cb69d8f170c72f55691661 100644 (file)
@@ -78,6 +78,8 @@ SMB_EXT_LIB_FROM_PKGCONFIG(LIBLDB, ldb >= 0.9.1,
                        AC_DEFINE_UNQUOTED(LDB_MODULESDIR, "${LDB_MODULESDIR}" , [ldb Modules directory])
                fi
                ])
+               ldbdir=lib/ldb
+               AC_SUBST(ldbdir)
                m4_include(lib/ldb/sqlite3.m4)
                m4_include(lib/ldb/libldb.m4)
                SMB_INCLUDE_MK(lib/ldb/config.mk)
@@ -226,3 +228,12 @@ AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [
 AC_Var = $AC_Var])
 $MAKE_SETTINGS
 CEOF
+
+if test $USESHARED = true
+then
+       echo "To run binaries without installing, set the following environment variable:"
+       echo "$ac_cv_LIB_PATH_VAR=$builddir/bin/shared"
+fi
+
+echo
+echo "To build Samba, run $ac_cv_path_MAKE"
index 17752fbbbd30df295e952baa3b1ee02ff74c25a1..fb8cd4f5031a6d263831b8bf88759aa9fe58e086 100644 (file)
@@ -5,8 +5,7 @@ mkinclude samdb/ldb_modules/config.mk
 ################################################
 # Start SUBSYSTEM SAMDB
 [SUBSYSTEM::SAMDB]
-PUBLIC_PROTO_HEADER = samdb/samdb_proto.h
-PUBLIC_HEADERS = samdb/samdb.h
+PRIVATE_PROTO_HEADER = samdb/samdb_proto.h
 PUBLIC_DEPENDENCIES = HEIMDAL_KRB5 
 PRIVATE_DEPENDENCIES = LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER \
                                           auth_system_session LDAP_ENCODE LIBCLI_AUTH LIBNDR \
@@ -17,8 +16,11 @@ OBJ_FILES = \
                samdb/cracknames.o \
                repl/replicated_objects.o
 
+
+PUBLIC_HEADERS += dsdb/samdb/samdb.h
+
 [SUBSYSTEM::SAMDB_COMMON]
-PUBLIC_PROTO_HEADER = common/proto.h
+PRIVATE_PROTO_HEADER = common/proto.h
 PRIVATE_DEPENDENCIES = LIBLDB
 OBJ_FILES = \
                common/sidmap.o \
@@ -26,14 +28,16 @@ OBJ_FILES = \
                common/util.o
 
 [SUBSYSTEM::SAMDB_SCHEMA]
-PUBLIC_PROTO_HEADER = schema/proto.h
-PUBLIC_HEADERS = schema/schema.h
+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 \
 
+
+PUBLIC_HEADERS += dsdb/schema/schema.h
+
 #######################
 # Start SUBSYSTEM DREPL_SRV
 [MODULE::DREPL_SRV]
index de93b5638df22801b951edb15967c7510a6895b5..62fbe75c8034a7f1199b3834a7f3203d02bbeb4e 100644 (file)
@@ -4,7 +4,7 @@
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC
-INIT_FUNCTION = objectguid_module_module_ops
+INIT_FUNCTION = LDB_MODULE(objectguid)
 OBJ_FILES = \
                objectguid.o
 # End MODULE ldb_objectguid
@@ -17,7 +17,7 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI \
                                           NDR_DRSBLOBS LIBNDR
-INIT_FUNCTION = repl_meta_data_module_module_ops
+INIT_FUNCTION = LDB_MODULE(repl_meta_data)
 OBJ_FILES = \
                repl_meta_data.o
 # End MODULE ldb_repl_meta_data
@@ -29,7 +29,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = dsdb_cache_module_module_ops
+INIT_FUNCTION = LDB_MODULE(dsdb_cache)
 OBJ_FILES = \
                dsdb_cache.o
 # End MODULE ldb_dsdb_cache
@@ -41,7 +41,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = schema_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(schema_fsmo)
 OBJ_FILES = \
                schema_fsmo.o
 # End MODULE ldb_schema_fsmo
@@ -53,7 +53,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = naming_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(naming_fsmo)
 OBJ_FILES = \
                naming_fsmo.o
 # End MODULE ldb_naming_fsmo
@@ -65,7 +65,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = pdc_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(pdc_fsmo)
 OBJ_FILES = \
                pdc_fsmo.o
 # End MODULE ldb_pdc_fsmo
@@ -77,7 +77,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LDAP_ENCODE NDR_MISC SAMDB
-INIT_FUNCTION = samldb_module_module_ops
+INIT_FUNCTION = LDB_MODULE(samldb)
 OBJ_FILES = \
                samldb.o
 #
@@ -89,7 +89,7 @@ OBJ_FILES = \
 [MODULE::ldb_samba3sam]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_samba3sam_module_module_ops
+INIT_FUNCTION = LDB_MODULE(samba3sam)
 PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER LIBSECURITY \
                                           NDR_SECURITY
 OBJ_FILES = \
@@ -103,7 +103,7 @@ OBJ_FILES = \
 [MODULE::ldb_simple_ldap_map]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_simple_ldap_map_module_module_ops
+INIT_FUNCTION = LDB_MODULE(simple_ldap_map)
 PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map LIBNDR NDR_MISC
 ENABLE = YES
 ALIASES = entryuuid nsuniqueid
@@ -117,7 +117,7 @@ OBJ_FILES = \
 # # Start MODULE ldb_proxy
 # [MODULE::ldb_proxy]
 # SUBSYSTEM = LIBLDB
-# INIT_FUNCTION = proxy_module_module_ops
+# INIT_FUNCTION = LDB_MODULE(proxy)
 # OBJ_FILES = \
 #              proxy.o
 # 
@@ -131,7 +131,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = rootdse_module_module_ops
+INIT_FUNCTION = LDB_MODULE(rootdse)
 OBJ_FILES = \
                rootdse.o
 #
@@ -143,7 +143,7 @@ OBJ_FILES = \
 [MODULE::ldb_password_hash]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = password_hash_module_module_ops
+INIT_FUNCTION = LDB_MODULE(password_hash)
 OBJ_FILES = password_hash.o
 PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \
                                           LIBCLI_AUTH NDR_DRSBLOBS KERBEROS SAMDB
@@ -157,7 +157,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
 SUBSYSTEM = LIBLDB
-INIT_FUNCTION = local_password_module_module_ops
+INIT_FUNCTION = LDB_MODULE(local_password)
 OBJ_FILES = local_password.o
 #
 # End MODULE ldb_local_password
@@ -169,7 +169,7 @@ OBJ_FILES = local_password.o
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY SAMDB
 OUTPUT_TYPE = SHARED_LIBRARY
 SUBSYSTEM = LIBLDB
-INIT_FUNCTION = &ldb_kludge_acl_module_ops
+INIT_FUNCTION = LDB_MODULE(kludge_acl)
 OBJ_FILES = \
                kludge_acl.o
 #
@@ -182,7 +182,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR LIBSECURITY SAMDB
-INIT_FUNCTION = &ldb_extended_dn_module_ops
+INIT_FUNCTION = LDB_MODULE(extended_dn)
 OBJ_FILES = \
                extended_dn.o
 #
@@ -195,7 +195,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_show_deleted_module_ops
+INIT_FUNCTION = LDB_MODULE(show_deleted)
 OBJ_FILES = \
                show_deleted.o
 #
@@ -208,7 +208,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
-INIT_FUNCTION = &ldb_partition_module_ops
+INIT_FUNCTION = LDB_MODULE(partition)
 OBJ_FILES = \
                partition.o
 #
@@ -221,7 +221,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBLDB
-INIT_FUNCTION = &ldb_schema_module_ops
+INIT_FUNCTION = LDB_MODULE(schema)
 OBJ_FILES = \
                schema.o schema_syntax.o
 #
@@ -235,7 +235,7 @@ SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS
 #Also depends on credentials, but that would loop
-INIT_FUNCTION = &ldb_update_kt_module_ops
+INIT_FUNCTION = LDB_MODULE(update_kt)
 OBJ_FILES = \
                update_keytab.o 
 #
@@ -245,7 +245,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_objectclass
 [MODULE::ldb_objectclass]
-INIT_FUNCTION = &ldb_objectclass_module_ops
+INIT_FUNCTION = LDB_MODULE(objectclass)
 OUTPUT_TYPE = SHARED_LIBRARY
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY NDR_SECURITY SAMDB
@@ -258,7 +258,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_subtree_rename
 [MODULE::ldb_subtree_rename]
-INIT_FUNCTION = &ldb_subtree_rename_module_ops
+INIT_FUNCTION = LDB_MODULE(subtree_rename)
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
@@ -270,7 +270,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_subtree_rename
 [MODULE::ldb_subtree_delete]
-INIT_FUNCTION = &ldb_subtree_delete_module_ops
+INIT_FUNCTION = LDB_MODULE(subtree_delete)
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
@@ -282,7 +282,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_linked_attributes
 [MODULE::ldb_linked_attributes]
-INIT_FUNCTION = &ldb_linked_attributes_module_ops
+INIT_FUNCTION = LDB_MODULE(linked_attributes)
 CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
@@ -295,7 +295,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_ranged_results
 [MODULE::ldb_ranged_results]
-INIT_FUNCTION = &ldb_ranged_results_module_ops
+INIT_FUNCTION = LDB_MODULE(ranged_results)
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
@@ -307,7 +307,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_anr
 [MODULE::ldb_anr]
-INIT_FUNCTION = &ldb_anr_module_ops
+INIT_FUNCTION = LDB_MODULE(anr)
 CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
@@ -320,7 +320,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_normalise
 [MODULE::ldb_normalise]
-INIT_FUNCTION = &ldb_normalise_module_ops
+INIT_FUNCTION = LDB_MODULE(normalise)
 CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
@@ -333,7 +333,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_instancetype
 [MODULE::ldb_instancetype]
-INIT_FUNCTION = &ldb_instancetype_module_ops
+INIT_FUNCTION = LDB_MODULE(instancetype)
 CFLAGS = -Ilib/ldb/include
 OUTPUT_TYPE = SHARED_LIBRARY
 PRIVATE_DEPENDENCIES = LIBTALLOC
index e970d4cd4c01032eaadb21376760da0558940f6b..ba9c5467ba8a69f6d2400d77b1056758fa20d679 100644 (file)
@@ -21,5 +21,4 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
 
 dynconfig.o: dynconfig.c Makefile
        @echo Compiling $<
-       @$(CC) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CPPFLAGS) $(PICFLAG) \
-               $(PATH_FLAGS) -c $(FIRST_PREREQ) -o $@
+       @$(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
index 45bfd8e81f0a79f13b4355c16287f916d403167d..675c3cb0f1cc898f842540dbcd1b7dfbf339e1f3 100644 (file)
@@ -3,19 +3,19 @@
 [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
+       ./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
@@ -24,13 +24,13 @@ PUBLIC_DEPENDENCIES = HEIMDAL_NTLM HEIMDAL_HCRYPTO
 [SUBSYSTEM::HEIMDAL_NTLM]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/ntlm
 OBJ_FILES = \
-       ../heimdal/lib/ntlm/ntlm.o
+       ./heimdal/lib/ntlm/ntlm.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5
 
 [SUBSYSTEM::HEIMDAL_HDB_KEYS]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
 OBJ_FILES = \
-       ../heimdal/lib/hdb/keys.o
+       ./heimdal/lib/hdb/keys.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
                                           HEIMDAL_HDB_ASN1
 
@@ -39,13 +39,13 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
 [SUBSYSTEM::HEIMDAL_HDB]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
 OBJ_FILES = \
-       ../heimdal/lib/hdb/db.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
+       ./heimdal/lib/hdb/db.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
 #######################
@@ -55,112 +55,112 @@ PRIVATE_DEPENDENCIES = HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMD
 [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
+       ./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
@@ -173,92 +173,92 @@ CFLAGS = -Iheimdal_build -Iheimdal/lib/krb5
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_PKINIT_ASN1
 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
+       ./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
 #######################
 
@@ -267,16 +267,16 @@ OBJ_FILES = \
 [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
+       ./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
 #######################
@@ -287,8 +287,8 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_COM_ERR
 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
+       ./heimdal/lib/hcrypto/imath/imath.o \
+       ./heimdal/lib/hcrypto/imath/iprime.o
 # End SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
 #######################
 
@@ -296,34 +296,34 @@ OBJ_FILES = \
 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/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
 # End SUBSYSTEM HEIMDAL_HCRYPTO
 #######################
 
@@ -339,77 +339,77 @@ PRIVATE_DEPENDENCIES = \
        HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 \
        HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1
 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
+       ./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
 #######################
 
 [SUBSYSTEM::HEIMDAL_ROKEN_GETPROGNAME]
 CFLAGS = -Iheimdal_build -Iheimdal/lib/roken  -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/getprogname.o
+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
+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
+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 \
+       ./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 \
@@ -433,8 +433,8 @@ PUBLIC_DEPENDENCIES = LIBNETIF LIBSAMBA-CONFIG
 [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
+       ./heimdal/lib/com_err/com_err.o \
+       ./heimdal/lib/com_err/error.o
 PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
 # End SUBSYSTEM HEIMDAL_COM_ERR
 #######################
@@ -443,7 +443,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
 # 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 
+OBJ_FILES = ./heimdal/lib/asn1/lex.ho 
 # End SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
 #######################
 
@@ -453,28 +453,28 @@ OBJ_FILES = ../heimdal/lib/asn1/lex.ho
 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
+       ./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
 PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
 
 # End BINARY asn1_compile
@@ -484,7 +484,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_
 # 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 
+OBJ_FILES = ./heimdal/lib/com_err/lex.ho 
 # End SUBSYSTEM HEIMDAL_COM_ERR_COMPILE_LEX
 #######################
 
@@ -493,15 +493,15 @@ OBJ_FILES = ../heimdal/lib/com_err/lex.ho
 [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
+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
 PRIVATE_DEPENDENCIES = HEIMDAL_COM_ERR_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
 # End BINARY compile_et
 #######################
@@ -522,7 +522,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|
@@ -540,7 +540,7 @@ clean::
 # Start SUBSYSTEM HEIMDAL
 [SUBSYSTEM::HEIMDAL]
 CFLAGS = -Iheimdal_build
-OBJ_FILES = ../heimdal/lib/vers/print_version.o
+OBJ_FILES = ./heimdal/lib/vers/print_version.o
 PUBLIC_DEPENDENCIES = \
                HEIMDAL_GSSAPI HEIMDAL_KRB5
 # End SUBSYSTEM HEIMDAL
@@ -558,10 +558,10 @@ PUBLIC_DEPENDENCIES = HEIMDAL
 # 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 
+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
 #######################
index a118636c5205b7d8eb04d185dab3757ba2261ae8..d059bdf49b53e658c92ae070081c9cf64a58fbfd 100644 (file)
@@ -22,17 +22,23 @@ mkinclude crypto/config.mk
 OBJ_FILES = compression/mszip.o
 
 [SUBSYSTEM::GENCACHE]
-PUBLIC_HEADERS = gencache/gencache.h
 OBJ_FILES = gencache/gencache.o
 PRIVATE_DEPENDENCIES = TDB_WRAP
 
+
+PUBLIC_HEADERS += lib/gencache/gencache.h
+
 [SUBSYSTEM::LDB_WRAP]
-PUBLIC_HEADERS = ldb_wrap.h
 OBJ_FILES = ldb_wrap.o
 PUBLIC_DEPENDENCIES = LIBLDB
 PRIVATE_DEPENDENCIES = LDBSAMBA UTIL_LDB
 
+
+PUBLIC_HEADERS += lib/ldb_wrap.h
+
 [SUBSYSTEM::TDB_WRAP]
-PUBLIC_HEADERS = tdb_wrap.h
 OBJ_FILES = tdb_wrap.o
 PUBLIC_DEPENDENCIES = LIBTDB
+
+
+PUBLIC_HEADERS += lib/tdb_wrap.h
index 4f0c80c79d1b3f98bac1333538f4514fb1b1f3fe..2766784c52ea381f4ba294662bb71e0bf2ed212c 100644 (file)
@@ -5,9 +5,11 @@ OBJ_FILES = \
                iconv.o \
                charcnv.o \
                util_unistr.o
-PUBLIC_HEADERS = charset.h
-PUBLIC_PROTO_HEADER = charset_proto.h
+PRIVATE_PROTO_HEADER = charset_proto.h
 PUBLIC_DEPENDENCIES = ICONV
 PRIVATE_DEPENDENCIES = DYNCONFIG
 # End SUBSYSTEM CHARSET
 ################################################
+
+
+PUBLIC_HEADERS += lib/charset/charset.h
index a1f876d56a8a8b3bed07dca80d4c95de5a066a7a..87014d4d5389503a3d005318e4d68651e089f027 100644 (file)
@@ -4,10 +4,11 @@ OBJ_FILES = credentials.o
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBPOPT
 
 [SUBSYSTEM::POPT_SAMBA]
-PUBLIC_HEADERS = popt_common.h 
 OBJ_FILES = popt_common.o
 PUBLIC_DEPENDENCIES = LIBPOPT
 
+PUBLIC_HEADERS += lib/cmdline/popt_common.h 
+
 [SUBSYSTEM::POPT_CREDENTIALS]
 PRIVATE_PROTO_HEADER = popt_credentials.h
 OBJ_FILES = popt_credentials.o
index 910cf3738f6cf3738de98f701d6e5dfde754e777..225a23c634ac23177c08fe8144dfccfffe4b065e 100644 (file)
@@ -32,11 +32,12 @@ INIT_FUNCTION = s4_events_standard_init
 # Start SUBSYSTEM LIBEVENTS
 [SUBSYSTEM::LIBEVENTS]
 OBJ_FILES = events.o events_timed.o events_signal.o
-PUBLIC_HEADERS = events.h events_internal.h
 PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
 # End SUBSYSTEM LIBEVENTS
 ##############################
 
+PUBLIC_HEADERS += $(addprefix lib/events/, events.h events_internal.h)
+
 [PYTHON::swig_events]
 SWIG_FILE = events.i
 PRIVATE_DEPENDENCIES = LIBEVENTS
index 555a5092cc219588da4269353e438a1044105a08..969abeae468e14aad13bc0d608322f2e1b2cd234 100644 (file)
@@ -58,9 +58,6 @@
 #include "lib/events/events_internal.h"
 #include "lib/util/dlinklist.h"
 #include "param/param.h"
-#if _SAMBA_BUILD_
-#include "build.h"
-#endif
 
 struct event_ops_list {
        struct event_ops_list *next, *prev;
@@ -102,6 +99,9 @@ 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);
        init_module_fn static_init[] = { STATIC_LIBEVENTS_MODULES };
        if (event_backends) return;
        run_init_functions(static_init);
index 7da7b9ba34d073534947978d749d45cbe8817a9d..ddbe0f23a60cee35c904c92f20eff172b728836b 100644 (file)
@@ -35,7 +35,6 @@
 
 #if (_SAMBA_BUILD_ >= 4)
 #include "includes.h"
-#include "build.h"
 #endif
 
 #define LDB_MODULE_PREFIX      "modules:"
@@ -126,14 +125,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_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 d6980f341a6fde3db3de5d2ae89ede36207ee66a..68c3d21fc949c31b1e80278cdd5a96b357de6401 100644 (file)
@@ -3,7 +3,7 @@
 [MODULE::ldb_asq]
 PRIVATE_DEPENDENCIES = LIBTALLOC
 CFLAGS = -Ilib/ldb/include
-INIT_FUNCTION = &ldb_asq_module_ops
+INIT_FUNCTION = LDB_MODULE(asq)
 SUBSYSTEM = LIBLDB
 OBJ_FILES = \
                modules/asq.o
@@ -15,7 +15,7 @@ OBJ_FILES = \
 [MODULE::ldb_server_sort]
 PRIVATE_DEPENDENCIES = LIBTALLOC
 CFLAGS = -Ilib/ldb/include
-INIT_FUNCTION = &ldb_server_sort_module_ops
+INIT_FUNCTION = LDB_MODULE(server_sort)
 SUBSYSTEM = LIBLDB
 OBJ_FILES = \
                modules/sort.o
@@ -25,7 +25,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_paged_results
 [MODULE::ldb_paged_results]
-INIT_FUNCTION = &ldb_paged_results_module_ops
+INIT_FUNCTION = LDB_MODULE(paged_results)
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
@@ -37,7 +37,7 @@ OBJ_FILES = \
 ################################################
 # Start MODULE ldb_paged_results
 [MODULE::ldb_paged_searches]
-INIT_FUNCTION = &ldb_paged_searches_module_ops
+INIT_FUNCTION = LDB_MODULE(paged_searches)
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
 SUBSYSTEM = LIBLDB
@@ -52,7 +52,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_operational_module_ops
+INIT_FUNCTION = LDB_MODULE(operational)
 OBJ_FILES = \
                modules/operational.o
 # End MODULE ldb_operational
@@ -64,7 +64,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_rdn_name_module_ops
+INIT_FUNCTION = LDB_MODULE(rdn_name)
 OBJ_FILES = \
                modules/rdn_name.o
 # End MODULE ldb_rdn_name
@@ -88,7 +88,7 @@ OBJ_FILES = \
 SUBSYSTEM = LIBLDB
 CFLAGS = -Ilib/ldb/include
 PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_skel_module_ops
+INIT_FUNCTION = LDB_MODULE(skel)
 OBJ_FILES = modules/skel.o
 # End MODULE ldb_skel
 ################################################
@@ -147,12 +147,14 @@ PUBLIC_DEPENDENCIES = \
                LIBTALLOC
 PRIVATE_DEPENDENCIES = \
                SOCKET_WRAPPER
-MANPAGE = man/ldb.3
-PUBLIC_HEADERS = include/ldb.h include/ldb_errors.h
 #
 # End SUBSYSTEM ldb
 ################################################
 
+PUBLIC_HEADERS += $(ldbdir)/include/ldb.h $(ldbdir)/include/ldb_errors.h
+
+MANPAGES += $(ldbdir)/man/ldb.3
+
 ################################################
 # Start BINARY ldbtest
 [BINARY::ldbtest]
@@ -167,7 +169,6 @@ PRIVATE_DEPENDENCIES = \
 # Start BINARY oLschema2ldif
 [BINARY::oLschema2ldif]
 INSTALLDIR = BINDIR
-MANPAGE = man/oLschema2ldif.1
 OBJ_FILES= \
                tools/convert.o \
                tools/oLschema2ldif.o
@@ -176,11 +177,12 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY oLschema2ldif
 ################################################
 
+MANPAGES += $(ldbdir)/man/oLschema2ldif.1
+
 ################################################
 # Start BINARY  ad2oLschema
 [BINARY::ad2oLschema]
 INSTALLDIR = BINDIR
-MANPAGE = man/ad2oLschema.1
 OBJ_FILES= \
                tools/convert.o \
                tools/ad2oLschema.o
@@ -189,6 +191,7 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY ad2oLschema
 ################################################
 
+MANPAGES += $(ldbdir)/man/ad2oLschema.1
 
 mkinclude tools/config.mk
 mkinclude ldb_ildap/config.mk
index d2dcc675a58a6b380992c2f3ab26feef7feabe86..880aafd593858669cd82dad2d9bd1fb457adce7a 100644 (file)
@@ -185,11 +185,17 @@ extern const struct ldb_module_ops ldb_paged_results_module_ops;
 extern const struct ldb_module_ops ldb_rdn_name_module_ops;
 extern const struct ldb_module_ops ldb_schema_module_ops;
 extern const struct ldb_module_ops ldb_asq_module_ops;
-extern const struct ldb_module_ops ldb_sort_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 bf6c5f963c4f1992c0bbb77d23b0dba62e81ac8d..02ad84ae25d0ffa5ea6085623831ce0e3f300891 100644 (file)
@@ -17,10 +17,11 @@ OBJ_FILES = \
                ldbadd.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE LIBCLI_RESOLVE
-MANPAGE = ../man/ldbadd.1
 # End BINARY ldbadd
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbadd.1
+
 ################################################
 # Start BINARY ldbdel
 [BINARY::ldbdel]
@@ -29,10 +30,11 @@ OBJ_FILES= \
                ldbdel.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
-MANPAGE = ../man/ldbdel.1
 # End BINARY ldbdel
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbdel.1
+
 ################################################
 # Start BINARY ldbmodify
 [BINARY::ldbmodify]
@@ -41,10 +43,11 @@ OBJ_FILES= \
                ldbmodify.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
-MANPAGE = ../man/ldbmodify.1
 # End BINARY ldbmodify
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbmodify.1
+
 ################################################
 # Start BINARY ldbsearch
 [BINARY::ldbsearch]
@@ -53,10 +56,11 @@ OBJ_FILES= \
                ldbsearch.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE 
-MANPAGE = ../man/ldbsearch.1
 # End BINARY ldbsearch
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbsearch.1
+
 ################################################
 # Start BINARY ldbedit
 [BINARY::ldbedit]
@@ -65,10 +69,11 @@ OBJ_FILES= \
                ldbedit.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
-MANPAGE = ../man/ldbedit.1
 # End BINARY ldbedit
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbedit.1
+
 ################################################
 # Start BINARY ldbrename
 [BINARY::ldbrename]
@@ -77,8 +82,9 @@ OBJ_FILES= \
                ldbrename.o
 PRIVATE_DEPENDENCIES = \
                LIBLDB_CMDLINE
-MANPAGE = ../man/ldbrename.1
 # End BINARY ldbrename
 ################################################
 
+MANPAGES += $(ldbdir)/man/ldbrename.1
+
 
index b46f7c3ee7a2fa1cac6985f5b920efce6e3a6036..81b0ef36fd00d92b2a46cde857d4e7f1b51ae771 100644 (file)
@@ -1,7 +1,8 @@
 ##############################
 # Start SUBSYSTEM NSS_WRAPPER
 [SUBSYSTEM::NSS_WRAPPER]
-PUBLIC_HEADERS = nss_wrapper.h
 OBJ_FILES = nss_wrapper.o
 # End SUBSYSTEM NSS_WRAPPER
 ##############################
+
+PUBLIC_HEADERS += lib/nss_wrapper/nss_wrapper.h
index 7a9c8fcff167d83c75611884334862e297a9aabb..b2d7ce202e44672d0ad3c97de09452c1baa714e4 100644 (file)
@@ -36,10 +36,11 @@ OBJ_FILES = \
 PUBLIC_DEPENDENCIES = \
                LIBSAMBA-UTIL CHARSET TDR_REGF LIBLDB \
                RPC_NDR_WINREG LDB_WRAP
-PUBLIC_HEADERS = registry.h hive.h patchfile.h
 # End MODULE registry_ldb
 ################################################
 
+PUBLIC_HEADERS += $(addprefix lib/registry/, registry.h hive.h patchfile.h)
+
 [SUBSYSTEM::registry_common]
 PUBLIC_DEPENDENCIES = registry
 OBJ_FILES = tools/common.o
@@ -52,10 +53,11 @@ INSTALLDIR = BINDIR
 OBJ_FILES = tools/regdiff.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-CONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS
-MANPAGE = man/regdiff.1
 # End BINARY regdiff
 ################################################
 
+MANPAGES += lib/registry/man/regdiff.1
+
 ################################################
 # Start BINARY regpatch
 [BINARY::regpatch]
@@ -64,10 +66,11 @@ OBJ_FILES = tools/regpatch.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-CONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS \
                registry_common
-MANPAGE = man/regpatch.1
 # End BINARY regpatch
 ################################################
 
+MANPAGES += lib/registry/man/regpatch.1
+
 ################################################
 # Start BINARY regshell
 [BINARY::regshell]
@@ -76,10 +79,11 @@ OBJ_FILES = tools/regshell.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-CONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
                SMBREADLINE registry_common
-MANPAGE = man/regshell.1
 # End BINARY regshell
 ################################################
 
+MANPAGES += lib/registry/man/regshell.1
+
 ################################################
 # Start BINARY regtree
 [BINARY::regtree]
@@ -88,10 +92,11 @@ OBJ_FILES = tools/regtree.o
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-CONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
                registry_common
-MANPAGE = man/regtree.1
 # End BINARY regtree
 ################################################
 
+MANPAGES += lib/registry/man/regtree.1
+
 [SUBSYSTEM::torture_registry]
 PRIVATE_DEPENDENCIES = registry
 PRIVATE_PROTO_HEADER = tests/proto.h
index a18fd2c28c88fa61fc07cb66d5b941721c0d67fa..ff3ddf0a3599f08b8f04857e9a0e7c38b77f5de9 100644 (file)
@@ -21,7 +21,6 @@
 #include "lib/util/dlinklist.h"
 #include "lib/registry/registry.h"
 #include "system/filesys.h"
-#include "build.h"
 
 
 /**
index 3e463100c9cb80380f02066cfd3b6a45010f8c91..b2cdec9cdf1c1b144da38a898c3fbbefe082f5a9 100644 (file)
@@ -22,7 +22,6 @@
 #include "lib/util/dlinklist.h"
 #include "lib/registry/registry.h"
 #include "system/filesys.h"
-#include "build.h"
 
 struct reg_key_path {
        uint32_t predefined_key;
index 4c5cf9434855e563b71dae5ee9539c8a095d519d..cc52a998015610ddbd1dc7c87259ac7ac0f7b0f0 100644 (file)
@@ -1,8 +1,9 @@
 ##############################
 # Start SUBSYSTEM SOCKET_WRAPPER
 [SUBSYSTEM::SOCKET_WRAPPER]
-PUBLIC_HEADERS = socket_wrapper.h
 OBJ_FILES = socket_wrapper.o
 PRIVATE_DEPENDENCIES = EXT_SOCKET
 # End SUBSYSTEM SOCKET_WRAPPER
 ##############################
+
+PUBLIC_HEADERS += lib/socket_wrapper/socket_wrapper.h
index af1b590c988ccaf5a93071e8d50384614cd82e26..33241ffac7d5b3ec5e6e3a4d1f4db3540bd6d7b2 100644 (file)
@@ -1,6 +1,8 @@
 [LIBRARY::LIBTALLOC]
 OUTPUT_TYPE = STATIC_LIBRARY
 OBJ_FILES = talloc.o
-MANPAGE = talloc.3
 CFLAGS = -Ilib/talloc
-PUBLIC_HEADERS = talloc.h
+
+
+MANPAGES += $(tallocdir)/talloc.3
+PUBLIC_HEADERS += $(tallocdir)/talloc.h
index 89d6af90430b88751611b4cb5db8cc99a3720bb2..c69804fa13b7f1227cdae868d75177b124a1bc77 100644 (file)
@@ -7,11 +7,12 @@ OBJ_FILES = \
        common/open.o common/traverse.o common/freelist.o \
        common/error.o common/transaction.o
 CFLAGS = -Ilib/tdb/include
-PUBLIC_HEADERS = include/tdb.h
 #
 # End SUBSYSTEM ldb
 ################################################
 
+PUBLIC_HEADERS += $(tdbdir)/include/tdb.h
+
 ################################################
 # Start BINARY tdbtool
 [BINARY::tdbtool]
index b8473e5ba8376f326c0cdba1945835b6143bf2f1..eb3cde9bdf9d5709919e1633de1e7321dc8a08e2 100644 (file)
@@ -1,6 +1,7 @@
 [SUBSYSTEM::TDR]
 CFLAGS = -Ilib/tdr
-PUBLIC_HEADERS = tdr.h
-PUBLIC_PROTO_HEADER = tdr_proto.h
+PRIVATE_PROTO_HEADER = tdr_proto.h
 PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
 OBJ_FILES = tdr.o
+
+PUBLIC_HEADERS += lib/tdr/tdr.h
index f3e6cd7acf802b89ad233df6ce2f3b56b9cfb5a7..16a0357df83b8744560e604748bf64277bb7f064 100644 (file)
@@ -1,15 +1,6 @@
 [SUBSYSTEM::LIBSAMBA-UTIL]
 #VERSION = 0.0.1
 #SO_VERSION = 0
-PUBLIC_HEADERS = util.h \
-                                attr.h \
-                                byteorder.h \
-                                data_blob.h \
-                                debug.h \
-                                mutex.h \
-                                safe_string.h \
-                                time.h \
-                                xfile.h
 OBJ_FILES = xfile.o \
                debug.o \
                fault.o \
@@ -33,11 +24,22 @@ PUBLIC_DEPENDENCIES = \
                SOCKET_WRAPPER EXT_NSL \
                CHARSET EXECINFO
 
+PUBLIC_HEADERS += $(addprefix lib/util/, util.h \
+                                attr.h \
+                                byteorder.h \
+                                data_blob.h \
+                                debug.h \
+                                mutex.h \
+                                safe_string.h \
+                                time.h \
+                                xfile.h)
+
 [SUBSYSTEM::ASN1_UTIL]
-PUBLIC_PROTO_HEADER = asn1_proto.h
-PUBLIC_HEADERS = asn1.h
+PRIVATE_PROTO_HEADER = asn1_proto.h
 OBJ_FILES = asn1.o
 
+PUBLIC_HEADERS += lib/util/asn1.h
+
 [SUBSYSTEM::UNIX_PRIVS]
 PRIVATE_PROTO_HEADER = unix_privs.h
 OBJ_FILES = unix_privs.o
@@ -45,7 +47,7 @@ OBJ_FILES = unix_privs.o
 ################################################
 # Start SUBSYSTEM WRAP_XATTR
 [SUBSYSTEM::WRAP_XATTR]
-PUBLIC_PROTO_HEADER = wrap_xattr.h
+PRIVATE_PROTO_HEADER = wrap_xattr.h
 OBJ_FILES = \
                wrap_xattr.o
 PUBLIC_DEPENDENCIES = XATTR
@@ -54,13 +56,13 @@ PUBLIC_DEPENDENCIES = XATTR
 ################################################
 
 [SUBSYSTEM::UTIL_TDB]
-PUBLIC_PROTO_HEADER = util_tdb.h
+PRIVATE_PROTO_HEADER = util_tdb.h
 OBJ_FILES = \
                util_tdb.o
 PUBLIC_DEPENDENCIES = LIBTDB
 
 [SUBSYSTEM::UTIL_LDB]
-PUBLIC_PROTO_HEADER = util_ldb.h
+PRIVATE_PROTO_HEADER = util_ldb.h
 OBJ_FILES = \
                        util_ldb.o
 PUBLIC_DEPENDENCIES = LIBLDB
index 6cea0a08f06e2e41e5af1cc1e21275e5bf5e9878..61d3fe8c9451c7f963c29eedd72fafb0b377f7c3 100644 (file)
@@ -1,7 +1,6 @@
 #################################
 # Start SUBSYSTEM LIBCLI_AUTH
 [SUBSYSTEM::LIBCLI_AUTH]
-PUBLIC_HEADERS = credentials.h
 PRIVATE_PROTO_HEADER = proto.h
 OBJ_FILES = credentials.o \
                session.o \
@@ -12,3 +11,6 @@ PUBLIC_DEPENDENCIES = \
                LIBSAMBA-CONFIG
 # End SUBSYSTEM LIBCLI_AUTH
 #################################
+
+
+PUBLIC_HEADERS += libcli/auth/credentials.h
index e4b6c71c8c71ebe3e76a108ca8467a6258ee94e6..d3a3beaaa980a5669b0e427511aeb5f2bc56042a 100644 (file)
@@ -3,11 +3,13 @@ mkinclude ldap/config.mk
 mkinclude security/config.mk
 
 [SUBSYSTEM::LIBSAMBA-ERRORS]
-PUBLIC_HEADERS = util/error.h util/ntstatus.h util/doserr.h util/werror.h
 OBJ_FILES = util/doserr.o \
                    util/errormap.o \
                    util/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
@@ -68,10 +70,11 @@ PUBLIC_DEPENDENCIES = LIBCLI_NBT LIBNDR LIBCLI_RESOLVE
 
 [SUBSYSTEM::LIBCLI_CLDAP]
 OBJ_FILES = cldap/cldap.o
-PUBLIC_HEADERS = cldap/cldap.h
 PUBLIC_DEPENDENCIES = LIBCLI_LDAP
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBLDB
 
+PUBLIC_HEADERS += libcli/cldap/cldap.h
+
 [SUBSYSTEM::LIBCLI_WREPL]
 PRIVATE_PROTO_HEADER = wrepl/winsrepl_proto.h
 OBJ_FILES = \
@@ -102,8 +105,7 @@ OBJ_FILES = \
 PUBLIC_DEPENDENCIES = LIBCLI_NBT MESSAGING
 
 [SUBSYSTEM::LIBCLI_SMB]
-PUBLIC_HEADERS = libcli.h
-PUBLIC_PROTO_HEADER = libcli_proto.h
+PRIVATE_PROTO_HEADER = libcli_proto.h
 OBJ_FILES = clireadwrite.o \
                cliconnect.o \
                clifile.o \
@@ -115,6 +117,9 @@ PUBLIC_DEPENDENCIES = LIBCLI_RAW LIBSAMBA-ERRORS LIBCLI_AUTH \
        LIBCLI_SMB_COMPOSITE LIBCLI_NBT LIBSECURITY LIBCLI_RESOLVE \
        LIBCLI_DGRAM LIBCLI_SMB2 LIBCLI_FINDDCS samba-socket
 
+
+PUBLIC_HEADERS += libcli/libcli.h
+
 [SUBSYSTEM::LIBCLI_RAW]
 PRIVATE_PROTO_HEADER = raw/raw_proto.h
 PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE LP_RESOLVE gensec LIBCLI_RESOLVE LIBSECURITY LIBNDR
index 239ee1f1614639461b1deb54a606d51cf5e15cbc..bcdedd34409289069b8f014947f28a6c1cf602c4 100644 (file)
@@ -1,6 +1,5 @@
 [SUBSYSTEM::LIBCLI_LDAP]
-PUBLIC_PROTO_HEADER = ldap_proto.h
-PUBLIC_HEADERS = ldap.h
+PRIVATE_PROTO_HEADER = ldap_proto.h
 OBJ_FILES = ldap.o \
                ldap_client.o \
                ldap_bind.o \
@@ -11,8 +10,9 @@ PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBEVENTS LIBPACKET
 PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \
                                           LDAP_ENCODE LIBNDR LP_RESOLVE gensec
 
+PUBLIC_HEADERS += libcli/ldap/ldap.h
 
 [SUBSYSTEM::LDAP_ENCODE]
-PUBLIC_PROTO_HEADER = ldap_ndr.h
+PRIVATE_PROTO_HEADER = ldap_ndr.h
 OBJ_FILES = ldap_ndr.o
 # FIXME PRIVATE_DEPENDENCIES = LIBLDB
index a72ae5b51fe34152c6fe3186cd069c203dbd3178..c35b7decc4929dca7bb733d3830d4f5cf8ca2444 100644 (file)
@@ -1,9 +1,5 @@
 [SUBSYSTEM::LIBSAMBA-NET]
 PRIVATE_PROTO_HEADER = libnet_proto.h
-PUBLIC_HEADERS = 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
 OBJ_FILES = \
                libnet.o \
                libnet_passwd.o \
@@ -29,6 +25,12 @@ OBJ_FILES = \
                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)
+
+
 [PYTHON::swig_net]
 PRIVATE_DEPENDENCIES = LIBSAMBA-NET
 SWIG_FILE = net.i
index 2fdef41b2af308580a735c2dc56f408408650ee2..8a5e1478f6a6436f6e8880bc6ff6e9cf8847edca 100644 (file)
@@ -4,8 +4,7 @@
 VERSION = 0.0.1
 SO_VERSION = 0
 PC_FILE = ndr.pc
-PUBLIC_HEADERS = ndr/libndr.h
-PUBLIC_PROTO_HEADER = ndr/libndr_proto.h
+PRIVATE_PROTO_HEADER = ndr/libndr_proto.h
 OBJ_FILES = \
                ndr/ndr.o \
                ndr/ndr_basic.o \
@@ -16,6 +15,8 @@ PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC LIBSAMBA-UTIL CHARSET EXT_NSL \
 # End SUBSYSTEM LIBNDR
 ################################################
 
+PUBLIC_HEADERS += librpc/ndr/libndr.h
+
 #################################
 # Start BINARY ndrdump
 [BINARY::ndrdump]
@@ -29,11 +30,12 @@ PRIVATE_DEPENDENCIES = \
                POPT_SAMBA \
                NDR_TABLE \
                LIBSAMBA-ERRORS
-MANPAGE = tools/ndrdump.1
 # FIXME: ndrdump shouldn't have to depend on RPC...
 # End BINARY ndrdump
 #################################
 
+MANPAGES += librpc/tools/ndrdump.1
+
 ################################################
 # Start SUBSYSTEM NDR_COMPRESSION
 [SUBSYSTEM::NDR_COMPRESSION]
@@ -46,9 +48,10 @@ PUBLIC_DEPENDENCIES = LIBCOMPRESSION LIBSAMBA-ERRORS LIBNDR
 
 [SUBSYSTEM::NDR_SECURITY]
 OBJ_FILES = gen_ndr/ndr_security.o ndr/ndr_sec_helper.o 
-PUBLIC_HEADERS = gen_ndr/security.h
 PUBLIC_DEPENDENCIES = NDR_MISC LIBSECURITY
 
+PUBLIC_HEADERS += librpc/gen_ndr/security.h
+
 [SUBSYSTEM::NDR_AUDIOSRV]
 OBJ_FILES = gen_ndr/ndr_audiosrv.o
 PUBLIC_DEPENDENCIES = LIBNDR
@@ -79,18 +82,20 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
 [SUBSYSTEM::NDR_MISC]
 OBJ_FILES = gen_ndr/ndr_misc.o ndr/ndr_misc.o
-PUBLIC_HEADERS = gen_ndr/misc.h gen_ndr/ndr_misc.h
 PUBLIC_DEPENDENCIES = LIBNDR
 
+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
 
 [SUBSYSTEM::NDR_LSA]
 OBJ_FILES = gen_ndr/ndr_lsa.o
-PUBLIC_HEADERS = gen_ndr/lsa.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
+PUBLIC_HEADERS += librpc/gen_ndr/lsa.h
+
 [SUBSYSTEM::NDR_DFS]
 OBJ_FILES = gen_ndr/ndr_dfs.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
@@ -125,9 +130,10 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
 [SUBSYSTEM::NDR_SAMR]
 OBJ_FILES = gen_ndr/ndr_samr.o
-PUBLIC_HEADERS = gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/ndr_samr_c.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_LSA NDR_SECURITY
 
+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
@@ -150,14 +156,16 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_SVCCTL NDR_SECURITY
 
 [SUBSYSTEM::NDR_SVCCTL]
 OBJ_FILES = gen_ndr/ndr_svcctl.o
-PUBLIC_HEADERS = gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
 
+PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h)
+
 [SUBSYSTEM::NDR_ATSVC]
 OBJ_FILES = gen_ndr/ndr_atsvc.o
-PUBLIC_HEADERS = gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h
 PUBLIC_DEPENDENCIES = LIBNDR
 
+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
@@ -232,9 +240,10 @@ PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_NETLOGON]
 OBJ_FILES = gen_ndr/ndr_netlogon.o
-PUBLIC_HEADERS = gen_ndr/netlogon.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY
 
+PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/netlogon.h)
+
 [SUBSYSTEM::NDR_TRKWKS]
 OBJ_FILES = gen_ndr/ndr_trkwks.o
 PUBLIC_DEPENDENCIES = LIBNDR
@@ -265,24 +274,32 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
 [SUBSYSTEM::NDR_NBT]
 OBJ_FILES = gen_ndr/ndr_nbt.o
-PUBLIC_HEADERS = gen_ndr/nbt.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY
 
+PUBLIC_HEADERS += librpc/gen_ndr/nbt.h
+
 [SUBSYSTEM::NDR_WINSREPL]
 OBJ_FILES = gen_ndr/ndr_winsrepl.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
 [SUBSYSTEM::NDR_WINBIND]
 OBJ_FILES = gen_ndr/ndr_winbind.o
-PUBLIC_HEADERS = gen_ndr/winbind.h
 PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON
 
-mkinclude ../heimdal_build/perl_path_wrapper.sh ../librpc/idl-deps.pl librpc/idl/*.idl|
+PUBLIC_HEADERS += librpc/gen_ndr/winbind.h
+
+librpc/idl-deps:
+       ./librpc/idl-deps.pl librpc/idl/*.idl >$@
+
+clean:: 
+       rm -f librpc/idl-deps
+
+include librpc/idl-deps
 
 librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES)
-       @echo Generating librpc/gen_ndr/tables.c
-       @$(PERL) $(srcdir)/librpc/tables.pl --output=librpc/gen_ndr/tables.c $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x
-       mv librpc/gen_ndr/tables.x librpc/gen_ndr/tables.c
+       @echo Generating $@
+       @$(PERL) $(srcdir)/librpc/tables.pl --output=$@ $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x
+       mv librpc/gen_ndr/tables.x $@
 
 [SUBSYSTEM::NDR_TABLE]
 OBJ_FILES = ndr/ndr_table.o gen_ndr/tables.o
@@ -364,14 +381,16 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_SRVSVC
 
 [SUBSYSTEM::RPC_NDR_SVCCTL]
 OBJ_FILES = gen_ndr/ndr_svcctl_c.o
-PUBLIC_HEADERS = gen_ndr/ndr_svcctl_c.h
 PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL
 
+PUBLIC_HEADERS += librpc/gen_ndr/ndr_svcctl_c.h
+
 [SUBSYSTEM::dcerpc_atsvc]
 OBJ_FILES = gen_ndr/ndr_atsvc_c.o
-PUBLIC_HEADERS = gen_ndr/ndr_atsvc_c.h
 PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC
 
+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
@@ -451,7 +470,8 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_KEYSVC
 [SUBSYSTEM::NDR_DCERPC]
 OBJ_FILES = gen_ndr/ndr_dcerpc.o
 PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
-PUBLIC_HEADERS = gen_ndr/dcerpc.h gen_ndr/ndr_dcerpc.h
+
+PUBLIC_HEADERS += $(addprefix librpc/, gen_ndr/dcerpc.h gen_ndr/ndr_dcerpc.h)
 
 ################################################
 # Start SUBSYSTEM dcerpc
@@ -459,10 +479,7 @@ PUBLIC_HEADERS = gen_ndr/dcerpc.h gen_ndr/ndr_dcerpc.h
 VERSION = 0.0.1
 SO_VERSION = 0
 PC_FILE = dcerpc.pc
-PUBLIC_HEADERS = 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
-PUBLIC_PROTO_HEADER = rpc/dcerpc_proto.h
+PRIVATE_PROTO_HEADER = rpc/dcerpc_proto.h
 OBJ_FILES = \
                rpc/dcerpc.o \
                rpc/dcerpc_auth.o \
@@ -484,6 +501,11 @@ PUBLIC_DEPENDENCIES = CREDENTIALS
 # End SUBSYSTEM dcerpc
 ################################################
 
+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)
+
+
 [MODULE::RPC_EJS_ECHO]
 INIT_FUNCTION = ejs_init_rpcecho
 OBJ_FILES = gen_ndr/ndr_echo_ejs.o
index 928504476885999bce7e9b6c60c1ffcdc364aa24..3036dad0b70d3fa9c13a4a6c0709eb90e64d75ae 100644 (file)
@@ -17,7 +17,7 @@ PUBLIC_DEPENDENCIES = \
 [MODULE::ldb_wins_ldb]
 SUBSYSTEM = LIBLDB
 OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_wins_ldb_module_ops
+INIT_FUNCTION = LDB_MODULE(wins_ldb)
 OBJ_FILES = \
                wins/wins_ldb.o
 PRIVATE_DEPENDENCIES = \
index dbc1a4c2770fd76f14df10f4b28a12d0289f76fa..0f8e88eaa6b6a6a645a77e63aa5d422dc5345abe 100644 (file)
@@ -80,13 +80,14 @@ OBJ_FILES = \
 ################################################
 # Start SUBSYSTEM NTVFS
 [SUBSYSTEM::ntvfs]
-PUBLIC_HEADERS = ntvfs.h
 PRIVATE_PROTO_HEADER = ntvfs_proto.h
 OBJ_FILES = \
                ntvfs_base.o \
                ntvfs_generic.o \
                ntvfs_interface.o \
                ntvfs_util.o
+
+PUBLIC_HEADERS += ntvfs/ntvfs.h
 #
 # End SUBSYSTEM NTVFS
 ################################################
index c3f50b13feadc4733881b890d7e66c625dda73df..f43c9d8a1bdb5dea058fdb5bf3151ac01aa00c32 100644 (file)
@@ -6,19 +6,21 @@ OBJ_FILES = loadparm.o \
                        ../lib/version.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-UTIL 
 PRIVATE_DEPENDENCIES = DYNCONFIG LIBREPLACE_EXT CHARSET
-PUBLIC_PROTO_HEADER = proto.h
-PUBLIC_HEADERS = param.h
+PRIVATE_PROTO_HEADER = proto.h
+
+PUBLIC_HEADERS += param/param.h
 
 #################################
 # Start SUBSYSTEM share
 [SUBSYSTEM::share]
-PUBLIC_HEADERS = share.h
-PUBLIC_PROTO_HEADER = share_proto.h
+PRIVATE_PROTO_HEADER = share_proto.h
 OBJ_FILES = share.o
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 # End SUBSYSTEM share
 #################################
 
+PUBLIC_HEADERS += param/share.h
+
 ################################################
 # Start MODULE share_classic
 [MODULE::share_classic]
index 0032a867d1b59adc43a5719961a1e9b40a4ca539..c2cf0e355ae446f3220f0795bba714c5a8d164bc 100644 (file)
@@ -3,8 +3,7 @@
 ################################################
 # Start SUBSYSTEM DCERPC_COMMON
 [SUBSYSTEM::DCERPC_COMMON]
-PUBLIC_PROTO_HEADER = common/proto.h
-PUBLIC_HEADERS = common/common.h
+PRIVATE_PROTO_HEADER = common/proto.h
 OBJ_FILES = \
                common/server_info.o \
                common/share_info.o
@@ -12,6 +11,8 @@ OBJ_FILES = \
 # End SUBSYSTEM DCERPC_COMMON
 ################################################
 
+PUBLIC_HEADERS += rpc_server/common/common.h
+
 ################################################
 # Start MODULE dcerpc_rpcecho
 [MODULE::dcerpc_rpcecho]
@@ -183,8 +184,7 @@ PRIVATE_DEPENDENCIES = \
 ################################################
 # Start SUBSYSTEM dcerpc_server
 [SUBSYSTEM::dcerpc_server]
-PUBLIC_HEADERS = dcerpc_server.h
-PUBLIC_PROTO_HEADER = dcerpc_server_proto.h
+PRIVATE_PROTO_HEADER = dcerpc_server_proto.h
 OBJ_FILES = \
                dcerpc_server.o \
                dcesrv_auth.o \
@@ -198,6 +198,8 @@ PRIVATE_DEPENDENCIES = \
 # End SUBSYSTEM DCERPC
 ################################################
 
+PUBLIC_HEADERS += rpc_server/dcerpc_server.h
+
 [MODULE::DCESRV]
 INIT_FUNCTION = server_service_rpc_init
 OBJ_FILES = service_rpc.o
diff --git a/source4/script/cflags.pl b/source4/script/cflags.pl
deleted file mode 100755 (executable)
index 37b5aa7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env perl
-
-# This is a hack to allow per target cflags. It isn't very elegant, but it
-# is the most portable idea we have come up with yet
-# tridge@samba.org, July 2005
-# jelmer@samba.org, March 2006
-use strict;
-
-my $target = shift;
-
-my $vars = {};
-
-sub check_flags($$);
-sub check_flags($$)
-{
-       my ($path, $name)=@_;
-       open (IN, $path);
-       foreach my $line (<IN>) {
-               if ($line =~ /^include (.*)$/) {
-                       check_flags($1, $name);
-               } elsif ($line =~ /^([A-Za-z0-9_]+) =(.*)$/) {
-                       $vars->{$1} = $2;
-               } elsif ($line =~ /^([^:]+): (.*)$/) {
-                       next unless (grep(/^$target$/, (split / /, $1)));
-                       my $data = $2;
-                       $data =~ s/^CFLAGS\+=//;
-                       foreach my $key (keys %$vars) {
-                               my $val = $vars->{$key};
-                               $data =~ s/\$\($key\)/$val/g;
-                       }
-                       # Remove undefined variables
-                       $data =~ s/\$\([A-Za-z0-9_]+\)//g;
-                       print "$data ";
-               }
-       }
-       close(IN);
-}
-
-check_flags("extra_cflags.txt", $target);
-print "\n";
-
-exit 0;
index 5aeece71558a2711517da89bbba0d570a5295ba7..87a68e33fa47ef1152dad08355d4d59ab227e3d3 100755 (executable)
@@ -157,7 +157,9 @@ sub process_file($$$)
 
        $filename =~ s/\.o$/\.c/g;
 
-       if (!open(FH, "< $builddir/$filename")) {
+       if ($filename =~ /^\//) {
+               open(FH, "<$filename") or die("Failed to open $filename");
+       } elsif (!open(FH, "< $builddir/$filename")) {
            open(FH, "< $srcdir/$filename") || die "Failed to open $filename";
        }
 
index 63a80e17db65a85fce6a17bba418f1f66538f5ee..98d6be07bf9a8ebd03e474acce6d2738b8ec6528 100644 (file)
@@ -23,7 +23,6 @@
 #include "includes.h"
 #include "param/param.h"
 #include "scripting/ejs/smbcalls.h"
-#include "build.h"
 #include "version.h"
 
 /*
@@ -173,6 +172,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 0d47c8c5427a592d1679414000ef70729ab1788f..56634736bd3bf7b6bdbff8c6d591f25269030c81 100644 (file)
@@ -15,32 +15,6 @@ OBJ_FILES = uuidmodule.o
 PRIVATE_DEPENDENCIES = LIBNDR LIBLDB SAMDB CREDENTIALS
 SWIG_FILE = misc.i
 
-# Swig extensions
-swig:: pythonmods
+_PY_FILES = $(shell find scripting/python -name "*.py")
 
-.SUFFIXES: _wrap.c .i
-
-.i_wrap.c:
-       [ "$(SWIG)" == "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
-
-realdistclean::
-       @echo "Removing SWIG output files"
-       @-rm -rf bin/python/*
-       # FIXME: Remove _wrap.c files
-
-pythonmods:: $(PYTHON_DSOS) $(PYTHON_PYS)
-
-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))
-
-installpython:: pythonmods
-       @$(SHELL) $(srcdir)/script/installpython.sh \
-               $(INSTALLPERMS) \
-               $(DESTDIR)$(PYTHONDIR) \
-               scripting/python bin/python
-
-clean::
-       @echo "Removing python modules"
-       @rm -f bin/python/*
+$(foreach pyfile, $(_PY_FILES),$(eval $(call python_py_module_template,$(patsubst scripting/python/%,%,$(pyfile)),$(pyfile))))
index c4d1070992ecf79a91727ed4d960bdd7baec99a8..24827807562e6e073dafcb96bec0da792123da0a 100644 (file)
@@ -27,7 +27,6 @@ PRIVATE_PROTO_HEADER = pidfile.h
 # Start BINARY smbd
 [BINARY::smbd]
 INSTALLDIR = SBINDIR
-MANPAGE = smbd.8
 OBJ_FILES = \
                server.o
 PRIVATE_DEPENDENCIES = \
@@ -44,5 +43,7 @@ PRIVATE_DEPENDENCIES = \
                ntvfs \
                share \
                CLUSTER
+
+MANPAGES += smbd/smbd.8
 # End BINARY smbd
 #################################
index 626349a45d37840d51fa344b597b7bab3a079212..e35a26e49f954f338680d8edfe7846dc9b53bcf0 100644 (file)
@@ -3,8 +3,7 @@
 SO_VERSION = 0
 VERSION = 0.0.1
 PC_FILE = torture.pc
-PUBLIC_HEADERS = torture.h ui.h
-PUBLIC_PROTO_HEADER = proto.h
+PRIVATE_PROTO_HEADER = proto.h
 OBJ_FILES = \
                torture.o \
                ui.o
@@ -14,6 +13,8 @@ PUBLIC_DEPENDENCIES = \
                LIBTALLOC \
                LIBPOPT
 
+PUBLIC_HEADERS += torture/torture.h torture/ui.h
+
 [SUBSYSTEM::TORTURE_UTIL]
 OBJ_FILES = util_smb.o util_provision.o
 PRIVATE_DEPENDENCIES = LIBCLI_RAW LIBPYTHON smbcalls
@@ -314,10 +315,11 @@ PRIVATE_DEPENDENCIES = \
                dcerpc \
                LIBCLI_SMB \
                SMBREADLINE
-MANPAGE = man/smbtorture.1
 # End BINARY smbtorture
 #################################
 
+MANPAGES += torture/man/smbtorture.1
+
 #################################
 # Start BINARY gentest
 [BINARY::gentest]
@@ -332,10 +334,11 @@ PRIVATE_DEPENDENCIES = \
                POPT_CREDENTIALS \
                LIBCLI_SMB \
                LIBCLI_RAW
-MANPAGE = man/gentest.1
 # End BINARY gentest
 #################################
 
+MANPAGES += torture/man/gentest.1
+
 #################################
 # Start BINARY masktest
 [BINARY::masktest]
@@ -349,10 +352,11 @@ PRIVATE_DEPENDENCIES = \
                POPT_SAMBA \
                POPT_CREDENTIALS \
                LIBCLI_SMB
-MANPAGE = man/masktest.1
 # End BINARY masktest
 #################################
 
+MANPAGES += torture/man/masktest.1
+
 #################################
 # Start BINARY locktest
 [BINARY::locktest]
@@ -366,10 +370,11 @@ PRIVATE_DEPENDENCIES = \
                LIBSAMBA-UTIL \
                LIBCLI_SMB \
                LIBSAMBA-CONFIG
-MANPAGE = man/locktest.1
 # End BINARY locktest
 #################################
 
+MANPAGES += torture/man/locktest.1
+
 COV_TARGET = test
 
 COV_VARS = \
index 6ef7e40471fc5d2279ae08dacb070db48c60e8a8..9ebfbbb7e3fdc8da053a2d9e914e378d32ba449d 100644 (file)
@@ -17,14 +17,14 @@ PRIVATE_DEPENDENCIES = \
                auth \
                MESSAGING \
                LIBEVENTS
-MANPAGE = man/ntlm_auth.1
 # End BINARY ntlm_auth
 #################################
 
+MANPAGES += utils/man/ntlm_auth.1
+
 #################################
 # Start BINARY getntacl
 [BINARY::getntacl]
-MANPAGE = man/getntacl.1
 INSTALLDIR = BINDIR
 OBJ_FILES = \
                getntacl.o
@@ -38,6 +38,8 @@ PRIVATE_DEPENDENCIES = \
 # End BINARY getntacl
 #################################
 
+MANPAGES += utils/man/getntacl.1
+
 #################################
 # Start BINARY setntacl
 [BINARY::setntacl]