]> git.sur5r.net Git - openldap/blobdiff - build/top.mk
Fix prev commit
[openldap] / build / top.mk
index 10b63e319e09816edf5326a69bd84152e9eeb0bc..0cf1461fdb2fe464af1198cc91697a98072f4331 100644 (file)
@@ -1,14 +1,23 @@
 # $OpenLDAP$
-## Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA
+## This work is part of OpenLDAP Software <http://www.openldap.org/>.
+##
+## Copyright 1998-2008 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
@@ -36,13 +45,20 @@ sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@$(ldap_subdir)
 schemadir = $(sysconfdir)/schema
 
+PLAT = @PLAT@
 EXEEXT = @EXEEXT@
 OBJEXT = @OBJEXT@
 
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+BUILD_LIBS_DYNAMIC = @BUILD_LIBS_DYNAMIC@
+
+SHTOOL = $(top_srcdir)/build/shtool
+
+INSTALL = $(SHTOOL) install -c
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+INSTALL_SCRIPT = $(INSTALL)
+
+STRIP = -s
 
 LINT = lint
 5LINT = 5lint
@@ -55,35 +71,77 @@ MKDEP_CFLAGS = @OL_MKDEP_FLAGS@
 MKVERSION = $(top_srcdir)/build/mkversion -v "$(VERSION)"
 
 LIBTOOL = @LIBTOOL@
+LIBRELEASE = @OPENLDAP_LIBRELEASE@
 LIBVERSION = @OPENLDAP_LIBVERSION@
-LTVERSION = -version-info $(LIBVERSION)
-LTLINK  = $(LIBTOOL) --mode=link -rpath $(libdir) \
-       $(CC) $(CFLAGS) $(LDFLAGS)
+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 = --tag=disable-shared
+LTONLY_mod = --tag=disable-static
+LTONLY_MOD = $(LTONLY_$(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 build environment
-AR = ar
-AWK = @AWK@
+AR = @AR@
 BASENAME = basename
 CAT = cat
 CHMOD = chmod
 DATE = date
-HOSTNAME = uname -n
-LN = ln
-LN_H = @LN_H@
-LN_S = @LN_S@
+ECHO = $(SHTOOL) echo
+HOSTNAME = $(SHTOOL) echo -e "%h%d"
+LN = $(SHTOOL) mkln
+LN_H = $(LN)
+LN_S = $(LN) -s
 MAKEINFO = @MAKEINFO@
-MKDIR = mkdir -p
-MV = mv
+MKDIR = $(SHTOOL) mkdir -p
+MV = $(SHTOOL) move
 PWD = pwd
 RANLIB = @RANLIB@
 RM = rm -f
 SED = sed
-
-# Misc UNIX commands used in programs
-EDITOR = @EDITOR@
-FINGER = @FINGER@
-SENDMAIL = @SENDMAIL@
+SUBST = $(SHTOOL) subst
 
 # For manual pages
 # MANCOMPRESS=@MANCOMPRESS@
@@ -93,27 +151,26 @@ MANCOMPRESSSUFFIX=
 
 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@
-LDIF_LIBS = @LDIF_LIBS@
 LDBM_LIBS = @LDBM_LIBS@
 LTHREAD_LIBS = @LTHREAD_LIBS@
 
-LDAP_LIBLBER_DEPEND = $(LDAP_LIBDIR)/liblber/liblber.la
-LDAP_LIBLDAP_DEPEND = $(LDAP_LIBDIR)/libldap/libldap.la
-LDAP_LIBLDIF_DEPEND = $(LDAP_LIBDIR)/libldif/libldif.a
-LDAP_LIBLUTIL_DEPEND = $(LDAP_LIBDIR)/liblutil/liblutil.a
+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_LIBAVL_DEPEND = $(LDAP_LIBDIR)/libavl/libavl.a
-LDAP_LIBLDBM_DEPEND = $(LDAP_LIBDIR)/libldbm/libldbm.a
-LDAP_LIBLTHREAD_DEPEND = $(LDAP_LIBDIR)/libldap_r/libldap_r.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_LIBDEPEND = $(LDAP_LIBLDAP_DEPEND) $(LDAP_LIBLBER_DEPEND) \
-       $(LDAP_LIBLDIF_DEPEND) $(LDAP_LIBLUTIL_DEPEND)
-SLAPD_LIBDEPEND = $(LDAP_LIBDEPEND) $(LDAP_LIBAVL_DEPEND) \
-       $(LDAP_LIBLDBM_DEPEND) $(LDAP_LIBLTHREAD_DEPEND)
+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 
@@ -134,17 +191,13 @@ SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
 MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
 MODULES_LDFLAGS = @SLAPD_MODULES_LDFLAGS@
 MODULES_LIBS = @MODULES_LIBS@
-TERMCAP_LIBS = @TERMCAP_LIBS@
 SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@
-LINK_BINS_DYNAMIC = @LINK_BINS_DYNAMIC@
 
 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_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@
 SLURPD_LIBS = @SLURPD_LIBS@
 
 # Our Defaults
@@ -154,6 +207,9 @@ CFLAGS = $(AC_CFLAGS) $(DEFS)
 LDFLAGS = $(LDAP_LIBPATH) $(AC_LDFLAGS) $(XLDFLAGS)
 LIBS = $(XLIBS) $(XXLIBS) $(AC_LIBS) $(XXXLIBS)
 
+LT_CFLAGS = $(AC_CFLAGS)
+LT_CPPFLAGS = $(DEFS)
+
 all:           all-common all-local FORCE
 install:       install-common install-local FORCE
 clean:         clean-common clean-local FORCE
@@ -184,6 +240,9 @@ veryclean: FORCE
 
 Makefile: Makefile.in $(top_srcdir)/build/top.mk
 
+pathtest:
+       $(SHTOOL) --version
+
 # empty rule for forcing rules
 FORCE: