]> git.sur5r.net Git - openldap/blobdiff - build/top.mk
More syncrepl fixes
[openldap] / build / top.mk
index 96034a501cc49137ec8a0abfc6ddec15aba06aa4..358352e5f0ac265bfe893405cc1b6a7525912945 100644 (file)
@@ -1,14 +1,21 @@
-##
-## Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
+# $OpenLDAP$
+## Copyright 1998-2004 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
-## Redistribution and use in source and binary forms are permitted only
-## as authorized by the OpenLDAP Public License.  A copy of this
-## license is available at http://www.OpenLDAP.org/license.html or
-## in file LICENSE in the top-level directory of the distribution.
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted only as authorized by the OpenLDAP
+## Public License.
 ##
+## A copy of this license is available in the file LICENSE in the
+## top-level directory of the distribution or, alternatively, at
+##---------------------------------------------------------------------------
+#
+# Top-level Makefile template
+#
+
 PACKAGE= @PACKAGE@
 VERSION= @VERSION@
+RELEASEDATE= @OPENLDAP_RELEASE_DATE@
 
 @SET_MAKE@
 SHELL = /bin/sh
@@ -20,56 +27,115 @@ top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 prefix = @prefix@
 exec_prefix = @exec_prefix@
-
 ldap_subdir = @ldap_subdir@
+
 bindir = @bindir@
-datadir = @datadir@/$(ldap_subdir)
+datadir = @datadir@$(ldap_subdir)
 includedir = @includedir@
 infodir = @infodir@
 libdir = @libdir@
 libexecdir = @libexecdir@
 localstatedir = @localstatedir@
 mandir = @mandir@
+moduledir = @libexecdir@$(ldap_subdir)
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@/$(ldap_subdir)
+sysconfdir = @sysconfdir@$(ldap_subdir)
+schemadir = $(sysconfdir)/schema
+
+PLAT = @PLAT@
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+
+BUILD_LIBS_DYNAMIC = @BUILD_LIBS_DYNAMIC@
 
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
-MV = mv
-LN = ln
-LN_S = @LN_S@
-RM = rm -f
-MAKEINFO = @MAKEINFO@
-RANLIB = @RANLIB@
-AR = ar
-
 LINT = lint
 5LINT = 5lint
-MKDEP = $(top_srcdir)/build/mkdep $(MKDEPFLAG) -c "$(CC)"
+
+MKDEP = $(top_srcdir)/build/mkdep $(MKDEPFLAG) \
+       -d "$(srcdir)" -c "$(MKDEP_CC)" -m "$(MKDEP_CFLAGS)"
+MKDEP_CC       = @OL_MKDEP@
+MKDEP_CFLAGS = @OL_MKDEP_FLAGS@
+
+MKVERSION = $(top_srcdir)/build/mkversion -v "$(VERSION)"
+
+SHTOOL = $(top_srcdir)/build/shtool
 
 LIBTOOL = @LIBTOOL@
-LIBVERSION = 0:0:0
-LTLINK  = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LFLAGS) $(LTVERSION)
+LIBRELEASE = @OPENLDAP_LIBRELEASE@
+LIBVERSION = @OPENLDAP_LIBVERSION@
+LTVERSION = -release $(LIBRELEASE) -version-info $(LIBVERSION)
+
+# libtool --only flag for libraries: platform specific
+NT_LTONLY_LIB = # --only-$(BUILD_LIBS_DYNAMIC)
+LTONLY_LIB = $(@PLAT@_LTONLY_LIB)
+
+# libtool --only flag for modules: depends on linkage of module
+# The BUILD_MOD macro is defined in each backend Makefile.in file
+LTONLY_yes = static
+LTONLY_mod = shared
+LTONLY_MOD = # --only-$(BUILD_MOD)
+
+# platform-specific libtool flags
+NT_LTFLAGS_LIB = -no-undefined -avoid-version -rpath $(libdir)
+NT_LTFLAGS_MOD = -no-undefined -avoid-version -rpath $(moduledir)
+UNIX_LTFLAGS_LIB = $(LTVERSION) -rpath $(libdir)
+UNIX_LTFLAGS_MOD = $(LTVERSION) -rpath $(moduledir)
+
+# libtool flags
+LTFLAGS     = $(@PLAT@_LTFLAGS)
+LTFLAGS_LIB = $(@PLAT@_LTFLAGS_LIB)
+LTFLAGS_MOD = $(@PLAT@_LTFLAGS_MOD)
+
+# LIB_DEFS defined in liblber and libldap Makefile.in files.
+# MOD_DEFS defined in backend Makefile.in files.
+
+# platform-specific LINK_LIBS defined in various Makefile.in files.
+# LINK_LIBS referenced in library and module link commands.
+LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS)
+
+LTSTATIC = @LTSTATIC@
+
+LTLINK   = $(LIBTOOL) --mode=link \
+       $(CC) $(LTSTATIC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS)
+
+LTCOMPILE_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=compile \
+       $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c
+
+LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \
+       $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB)
+
+LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \
+       $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c
+
+LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
+       $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
+
 LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) 
+LTFINISH = $(LIBTOOL) --mode=finish
 
-# Misc UNIX commands used in makefiles
-SED = sed
-DATE = date
-HOSTNAME = uname -n
+# Misc UNIX commands used in build environment
+AR = @AR@
 BASENAME = basename
-PWD = pwd
 CAT = cat
-MKDIR = mkdir -p
 CHMOD = chmod
-
-# Misc UNIX commands used in programs
-EDITOR = @EDITOR@
-FINGER = @FINGER@
-SENDMAIL = @SENDMAIL@
+DATE = date
+HOSTNAME = $(SHTOOL) echo -e "%h%d"
+LN = ln
+LN_H = @LN_H@
+LN_S = @LN_S@
+MAKEINFO = @MAKEINFO@
+MKDIR = $(SHTOOL) mkdir -p
+MV = mv
+PWD = pwd
+RANLIB = @RANLIB@
+RM = rm -f
+SED = sed
 
 # For manual pages
 # MANCOMPRESS=@MANCOMPRESS@
@@ -77,40 +143,66 @@ SENDMAIL = @SENDMAIL@
 MANCOMPRESS=$(CAT)
 MANCOMPRESSSUFFIX=
 
-# Version
-VERSIONFILE = $(top_srcdir)/build/version
-
 INCLUDEDIR= $(top_srcdir)/include
 LDAP_INCPATH= -I$(LDAP_INCDIR) -I$(INCLUDEDIR)
-LDAP_LIBADIR= $(top_builddir)/libraries
-LDAP_LIBPATH= -L$(LDAP_LIBADIR)
+LDAP_LIBDIR= $(top_builddir)/libraries
+
+LUTIL_LIBS = @LUTIL_LIBS@
+LDBM_LIBS = @LDBM_LIBS@
+LTHREAD_LIBS = @LTHREAD_LIBS@
 
-LDAP_LIBLBER = $(LDAP_LIBADIR)/liblber/liblber.la
-LDAP_LIBLDAP = $(LDAP_LIBADIR)/libldap/libldap.la
+LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
+LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la
+LDAP_LIBLDAP_R_LA = $(LDAP_LIBDIR)/libldap_r/libldap_r.la
 
-LDAP_LIBLBER_DEPEND = $(LDAP_LIBDIR)/liblber/liblber.la
-LDAP_LIBLDAP_DEPEND = $(LDAP_LIBDIR)/libldap/libldap.la
+LDAP_LIBREWRITE_A = $(LDAP_LIBDIR)/librewrite/librewrite.a
+LDAP_LIBLUNICODE_A = $(LDAP_LIBDIR)/liblunicode/liblunicode.a
+LDAP_LIBLUTIL_A = $(LDAP_LIBDIR)/liblutil/liblutil.a
 
-LDAP_LIBS = $(LDAP_LIBPATH) -lldif $(LDAP_LIBLDAP) $(LDAP_LIBLBER)
-LDAP_LIBDEPEND = $(LDAP_LIBDIR)/libldif.a $(LDAP_LIBLDAP) $(LDAP_LIBLBER)
+LDAP_L = $(LDAP_LIBLUTIL_A) \
+       $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
+SLURPD_L = $(LDAP_LIBLUTIL_A) \
+       $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+SLAPD_L = $(LDAP_LIBLUNICODE_A) $(LDAP_LIBREWRITE_A) \
+       $(SLURPD_L)
 
+WRAP_LIBS = @WRAP_LIBS@
 # AutoConfig generated 
 AC_CC  = @CC@
-AC_DEFS = @CPPFLAGS@ @DEFS@
-AC_LIBS = @LDFLAGS@ @LIBS@
 AC_CFLAGS = @CFLAGS@
-AC_LDFLAGS =
-
-KRB_LIBS = @KRB_LIBS@
-TERMCAP_LIBS = @TERMCAP_LIBS@
+AC_DEFS = @CPPFLAGS@ # @DEFS@
+AC_LDFLAGS = @LDFLAGS@
+AC_LIBS = @LIBS@
+
+KRB4_LIBS = @KRB4_LIBS@
+KRB5_LIBS = @KRB5_LIBS@
+KRB_LIBS = @KRB4_LIBS@ @KRB5_LIBS@
+SASL_LIBS = @SASL_LIBS@
+TLS_LIBS = @TLS_LIBS@
+AUTH_LIBS = @AUTH_LIBS@
+SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
+
+MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
+MODULES_LDFLAGS = @SLAPD_MODULES_LDFLAGS@
+MODULES_LIBS = @MODULES_LIBS@
+SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@
+
+SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@
+SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
+SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
+
+SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@
+SLURPD_LIBS = @SLURPD_LIBS@
 
 # Our Defaults
 CC = $(AC_CC)
-DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) 
-LIBS = $(LDAP_LIBS) $(XLIBS) $(AC_LIBS)
+DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES)
+CFLAGS = $(AC_CFLAGS) $(DEFS)
+LDFLAGS = $(LDAP_LIBPATH) $(AC_LDFLAGS) $(XLDFLAGS)
+LIBS = $(XLIBS) $(XXLIBS) $(AC_LIBS) $(XXXLIBS)
 
-CFLAGS = $(AC_CFLAGS) $(DEFS) $(DEFINES)
-LDFLAGS = $(AC_LDFLAGS)
+LT_CFLAGS = $(AC_CFLAGS)
+LT_CPPFLAGS = $(DEFS)
 
 all:           all-common all-local FORCE
 install:       install-common install-local FORCE
@@ -142,7 +234,11 @@ veryclean: FORCE
 
 Makefile: Makefile.in $(top_srcdir)/build/top.mk
 
+pathtest:
+       $(SHTOOL) --version
+
 # empty rule for forcing rules
 FORCE:
 
 ##---------------------------------------------------------------------------
+