+# $OpenLDAP$
+## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
-## Makefile Template for Libraries
+## Copyright 1998-2009 The OpenLDAP Foundation.
+## All rights reserved.
##
+## 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
+## <http://www.OpenLDAP.org/license.html>.
+##---------------------------------------------------------------------------
+#
+# Makefile Template for Libraries
+#
-all: $(LIBRARY) $(PROGRAMS)
-
-$(LIBRARY): version.o
- $(AR) ru $@ $(OBJS) version.o
- @$(RANLIB) $@; \
- $(RM) ../$@; \
- (d=`$(PWD)` ; $(LN_S) `$(BASENAME) $$d`/$@ ../$@)
+all-common: $(LIBRARY) $(PROGRAMS)
-version.c: $(OBJS)
+version.c: Makefile
$(RM) $@
- (u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` \
- h=`$(HOSTNAME)` t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
- -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
- -e "s|%VERSION%|$${v}|" \
- < Version.c > $@)
+ $(MKVERSION) $(LIBRARY) > $@
-install: all
+version.o version.lo: version.c $(OBJS)
-lint: FORCE
+install-common: FORCE
+
+lint: lint-local FORCE
$(LINT) $(DEFS) $(DEFINES) $(SRCS)
-lint5: FORCE
+lint5: lint5-local FORCE
$(5LINT) $(DEFS) $(DEFINES) $(SRCS)
-clean: FORCE
- $(RM) $(LIBRARY) ../$(LIBRARY) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) \
- *.o a.out core version.c
-
-depend: FORCE
- $(MKDEP) $(DEFS) $(DEFINES) $(SRCS)
+#
+# In the mingw/cygwin environment, the so and dll files must be
+# deleted separately, instead of using the {.so*,*.dll} construct
+# that was previously used. It just didn't work.
+#
+clean-common: FORCE
+ $(RM) $(LIBRARY) ../$(LIBRARY) $(XLIBRARY) \
+ $(PROGRAMS) $(XPROGRAMS) $(XSRCS) $(XXSRCS) \
+ *.o *.lo a.out *.exe core version.c .libs/* \
+ ../`$(BASENAME) $(LIBRARY) .la`.so* \
+ ../`$(BASENAME) $(LIBRARY) .la`*.dll
+
+depend-common: FORCE
+ $(MKDEP) $(DEFS) $(DEFINES) $(SRCS) $(XXSRCS)
+
+lint-local: FORCE
+lint5-local: FORCE
+
+Makefile: $(top_srcdir)/build/lib.mk