X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Ftop.mk;h=7c17468bfc41d7c8ba847a0c96d6f54a3906387b;hb=67e7d84405d9791691ff73601e143ab4bf8c0c6c;hp=6738cb7c6ca92450c2921d947dab7a3d8111ba13;hpb=b1868895f7d630b8fcf1ee455efef05cfe98859e;p=openldap diff --git a/build/top.mk b/build/top.mk index 6738cb7c6c..7c17468bfc 100644 --- a/build/top.mk +++ b/build/top.mk @@ -1,14 +1,23 @@ # $OpenLDAP$ -## Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA +## This work is part of OpenLDAP Software . +## +## Copyright 1998-2006 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 $(CC) -rpath $(libdir) \ - $(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: