$OpenBSD: patch-openbsd-common_make,v 1.1.1.1 2006/12/18 14:39:56 espie Exp $
--- openbsd-common.make.orig	Mon Dec 18 10:59:20 2006
+++ openbsd-common.make	Mon Dec 18 10:59:20 2006
@@ -0,0 +1,65 @@
+# -*-makefile-*-    <-- an Emacs control
+
+# The including make file must define these make variables:
+#
+# SHARED_LIBS_TO_INSTALL: List of the shared libraries that need to be
+#   installed -- just the basic library names.  E.g. "libfoo libbar"
+#
+# SHLIB_SUFFIX: Shared library filename suffix, e.g. "so".
+#
+# MAJ: Library major version number, e.g. "3" in file name "libfoo.3.1"
+#
+# MIN: Library minor version number, e.g. "1" in file name "libfoo.3.1"
+#
+# LDFLAGS_SHLIB: linker (Ld) flags needed to link object files together into
+#   a shared library.  May use $(SONAME) for the soname of the library.
+#   Include -lc if appropriate.
+#
+# LADD: Additional linker flags (normally set on the make command line).
+#
+# INSTALL_DATA: beginning of shell command to install a library file.
+#
+# DESTDIR: main installation directory
+#
+# LIBINST_DIR: directory in which to install libraries, relative to DESTDIR.
+#
+# LN_S: beginning of shell command to make symbolic link (e.g. "ln -s").
+#
+# CXXLD: beginning of shell command to link, e.g. "g++".
+
+# This make file defines these make variables that the including make file
+# can use:
+#
+# ALL_SHARED_LIBRARIES: list of targets to be dependencies of all: .
+
+# Including make file must contain a rule to build each library file
+# (e.g. libfoo.3.1)
+
+# This make file provides these rules:
+#
+# install-shared-libraries: install all shared libraries and the necessary
+# symbolic links.
+
+ALL_SHARED_LIBRARIES = \
+  $(SHARED_LIBS_TO_BUILD:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
+
+# SONAME is to be referenced by $(LDSHLIB) in $(SHLIB_RULE)
+# SONAME is the name of the library file being built, with the minor
+#   version number cut off.  E.g. if we're building libfoo.so.1.2, SONAME
+#   is libfoo.so.1 .
+SONAME = $(@:%.$(MIN)=%)
+
+SHLIB_RULE = $(CXXLD) $(LDFLAGS_SHLIB) -o $@ $^ $(LADD)
+
+SHLIB_INSTALL_TARGETS = $(SHARED_LIBS_TO_INSTALL:%=%/install)
+
+#SHLIB_INSTALL_TARGETS is like "install/libfoo install/libbar"
+
+.PHONY: $(SHLIB_INSTALL_TARGETS)
+.PHONY: install-shared-libraries
+
+install-shared-libraries: $(SHLIB_INSTALL_TARGETS)
+
+$(SHLIB_INSTALL_TARGETS) X/install:%/install:%.$(SHLIB_SUFFIX).$(MAJ).$(MIN)
+# $< is a library file name, e.g. libfoo.3.1 .
+	$(INSTALL_SHLIB) $< $(DESTDIR)$(LIBINST_DIR)/$<
