]> git.sur5r.net Git - openldap/blobdiff - build/lib-shared.mk
minor cleanup
[openldap] / build / lib-shared.mk
index 69a37e50aedd1e9084fc4fa7fc471103839ee957..20f4aa4b89792c001ba25d156035c53f7512ab0a 100644 (file)
@@ -1,5 +1,5 @@
 # $OpenLDAP$
-## Copyright 1998,1999 The OpenLDAP Foundation
+## Copyright 1998-2000 The OpenLDAP Foundation
 ## COPYING RESTRICTIONS APPLY.  See COPYRIGHT File in top level directory
 ## of this package for details.
 ##---------------------------------------------------------------------------
@@ -7,7 +7,16 @@
 ## Makefile Template for Shared Libraries
 ##
 
-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) -rpath $(libdir) \
+       $(CFLAGS) $(LDFLAGS) $(LTVERSION) $(LT_NO_UNDEF)
+
 MKDEPFLAG = -l
 
 .SUFFIXES: .c .o .lo
@@ -15,17 +24,27 @@ 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
-       $(LTLIBLINK) -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)
-       # 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
+       $(LTLIBLINK) -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 test "$(LINK_BINS_DYNAMIC)" = "yes"; then \
-               (d=`$(PWD)`; t=`$(BASENAME) $@ .la`.so; $(LN_S) `$(BASENAME) $$d`/.libs/$$t ../$$t); \
-               (d=`$(PWD)`; b=`$(BASENAME) $@ .la`; t=`ls $$d/.libs/$$b.so.?`; $(LN_S) `$(BASENAME) $$d`/.libs/`$(BASENAME) $$t` ../`$(BASENAME) $$t`); \
+               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
+