openldap/build/lib-shared.mk
2002-01-04 21:17:25 +00:00

54 lines
1.7 KiB
Makefile

# $OpenLDAP$
## Copyright 1998-2002 The OpenLDAP Foundation
## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory
## of this package for details.
##---------------------------------------------------------------------------
##
## Makefile Template for Shared Libraries
##
MKDEPFLAG = -l
.SUFFIXES: .c .o .lo
.c.lo:
$(LTCOMPILE_LIB) $<
#
# symlinks for libraries: UNIX and Windows (a.k.a. NT) need to be handled
# differently. In UNIX, the static and shared libraries, as well as shared
# library symlinks, can all be symlinked in the 'libraries' directory. In
# Windows, only the static library (.a file) or the shared library (.dll)
# file should be present. The current mingw linker (i.e. ld) WILL look
# for a .dll file at link time and internally generate an import library
# for it. However, ld will not do this if a static library is present.
# That doesn't seem very correct, but that's the behavior, like it or not.
#
# Note that there doesn't seem to be a true need for the .la file at
# this level, so it is left out.
#
# The set of symlinks are determined by examining the library's .la file.
#
$(LIBRARY): version.lo
$(LTLINK_LIB) -o $@ $(OBJS) version.lo $(LINK_LIBS)
@d=`$(PWD)`; b=`$(BASENAME) $$d`; \
echo cd ..; \
cd ..; \
arlib=`grep '^old_library=' $$b/$@`; \
arlib=`expr "$$arlib" : "[^']*'\(.*\)'"`; \
libs=$$arlib; \
if test "$(BUILD_LIBS_DYNAMIC)" = "shared"; then \
shlibs=`grep '^library_names' $$b/$@`; \
shlibs=`expr "$$shlibs" : "[^']*'\(.*\)'"`; \
libs="$$libs $$shlibs"; \
fi; \
for i in $$libs; do \
echo $(RM) $$i; \
$(RM) $$i; \
echo $(LN_S) $$b/.libs/$$i $$i; \
$(LN_S) $$b/.libs/$$i $$i; \
done
Makefile: $(top_srcdir)/build/lib-shared.mk