X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Flib-shared.mk;h=3952bcf3c9a753437cb2e85a0655fae1979c5c6d;hb=ef898549445cedeb31d110494a5457e662bac865;hp=76774428f87cf1fbffb866bf0ac03b7827d5cff4;hpb=a3ac3be6a7b0dd405c940ea62f7aa6af6dbe6caf;p=openldap diff --git a/build/lib-shared.mk b/build/lib-shared.mk index 76774428f8..3952bcf3c9 100644 --- a/build/lib-shared.mk +++ b/build/lib-shared.mk @@ -1,11 +1,22 @@ +# $OpenLDAP$ +## Copyright 1998-2000 The OpenLDAP Foundation +## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory +## of this package for details. ##--------------------------------------------------------------------------- ## ## Makefile Template for Shared Libraries ## -LTVERSION = -version-info $(LIBVERSION) -LINK = $(LTLINK) -COMPILE = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c +NT_LTFLAGS = --only-$(LINKAGE) +LTFLAGS = $(@PLAT@_LTFLAGS) + +NT_DYN_LT_NO_UNDEF = -no-undefined +LT_NO_UNDEF = $(@PLAT@_@LIB_LINKAGE@_LT_NO_UNDEF) + +COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CFLAGS) $(EXTRA_DEFS) -c +LTLIBLINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \ + $(LTVERSION) $(LT_NO_UNDEF) + MKDEPFLAG = -l .SUFFIXES: .c .o .lo @@ -13,11 +24,29 @@ MKDEPFLAG = -l .c.lo: $(COMPILE) $< + +# DYN_EXT (@DYN_EXT@) describes the extension assoicated with a +# dynamic library, e.g. so, dll + +DYN_EXT=@DYN_EXT@ + $(LIBRARY): version.lo - $(LINK) -rpath $(libdir) -o $@ $(OBJS) version.lo - $(RM) ../$@; \ - (d=`$(PWD)` ; $(LN_S) `$(BASENAME) $$d`/$@ ../$@) - $(RM) ../`$(BASENAME) $@ .la`.a; \ - (d=`$(PWD)`; t=`$(BASENAME) $@ .la`.a; $(LN_S) `$(BASENAME) $$d`/.libs/$$t ../$$t) + $(LTLIBLINK) -rpath $(libdir) -o $@ $(OBJS) version.lo $(EXTRA_LIBS) + $(RM) ../$@ + d=`$(PWD)`; d=`$(BASENAME) $$d`; cd ..; $(LN_S) $$d/$@ $@; \ + t=`$(BASENAME) $@ .la`.a; $(RM) $$t; $(LN_S) $$d/.libs/$$t $$t + @# If we want our binaries to link dynamically with libldap{,_r} liblber + @# We also symlink the .so, so we can run the tests without installing + if test "$(LINK_BINS_DYNAMIC)" = "yes"; then \ + d=`$(PWD)`; d=`$(BASENAME) $$d`; b=`$(BASENAME) $@ .la`; \ + cd .libs; t=`echo $$b*.$(DYN_EXT)`; (cd ../.. ; $(RM) $$t; \ + $(LN_S) $$d/.libs/$$t $$t); \ + if test "$(DYN_EXT)" != dll; then \ + t=`echo $$b.$(DYN_EXT).?`; cd ../.. ; \ + $(RM) $$t; \ + $(LN_S) $$d/.libs/$$t $$t; \ + fi \ + fi Makefile: $(top_srcdir)/build/lib-shared.mk +