$NetBSD: patch-aa,v 1.8 2017/11/30 10:58:14 gson Exp $

- honor pkgsrc CC, AR, LD, RANLIB (CC matters for libtool, the others less so)
- use libtool
- other previously uncommented stuff (XXX)

--- Makefile.orig	2009-10-01 22:55:03.000000000 +0000
+++ Makefile
@@ -57,17 +57,19 @@ VERSION     = 1.9
 # possible compilation options.
 ##########################
 
-CC          = cc
-AR          = ar
-LD          = ld
-RANLIB      = ranlib
+#CC          = cc
+#AR          = ar
+#LD          = ld
+#RANLIB      = ranlib
 LN          = ln
 
 SHELL       = /bin/sh
 ECHO        = /bin/echo
 
 BUILD       = DBG
-TARGETDIR   = $(OS)_$(shell uname -r)_$(BUILD)
+# Use a fixed target directory so the pkgsrc top-level Makefile
+# can find the files at the install stage
+TARGETDIR  = target
 
 DEFINES     = -D$(OS)
 CFLAGS      =
@@ -104,7 +106,7 @@ TARGETS     = aix-debug aix-optimized
 
 ifeq ($(OS), AIX)
 AIX_VERSION = $(shell uname -v).$(shell uname -r)
-TARGETDIR   = $(OS)_$(AIX_VERSION)_$(BUILD)
+#TARGETDIR   = $(OS)_$(AIX_VERSION)_$(BUILD)
 CC          = xlC
 STATIC_ONLY = yes
 ifeq ($(BUILD), OPT)
@@ -116,7 +118,7 @@ endif
 endif
 
 ifeq ($(OS), CYGWIN)
-TARGETDIR   = $(OS)_$(BUILD)
+#TARGETDIR   = $(OS)_$(BUILD)
 CC          = gcc
 LD          = gcc
 DSO_SUFFIX  = dll
@@ -181,7 +183,7 @@ OTHER_FLAGS = -fullwarn
 endif
 
 ifeq ($(OS), LINUX)
-EXTRA_OBJS  = $(TARGETDIR)/md.o
+EXTRA_OBJS  = $(TARGETDIR)/md.lo
 SFLAGS      = -fPIC
 LDFLAGS     = -shared -soname=$(SONAME) -lc
 OTHER_FLAGS = -Wall
@@ -194,6 +196,8 @@ ifeq ($(OS), NETBSD)
 SFLAGS      = -fPIC
 LDFLAGS     = -shared -soname=$(SONAME) -lc
 OTHER_FLAGS = -Wall
+# The following is a lie; we do build dynamic libraries
+STATIC_ONLY = yes
 endif
 
 ifeq ($(OS), OPENBSD)
@@ -211,7 +215,7 @@ LDFLAGS     = -shared -all -expect_unres
 endif
 
 ifeq (SOLARIS, $(findstring SOLARIS, $(OS)))
-TARGETDIR   = $(OS)_$(shell uname -r | sed 's/^5/2/')_$(BUILD)
+#TARGETDIR   = $(OS)_$(shell uname -r | sed 's/^5/2/')_$(BUILD)
 CC          = gcc
 LD          = gcc
 RANLIB      = true
@@ -228,7 +232,6 @@ endif
 # End of platform section.
 ##########################
 
-
 ifeq ($(BUILD), OPT)
 OTHER_FLAGS += -O
 else
@@ -285,15 +288,15 @@ endif
 
 CFLAGS      += $(DEFINES) $(OTHER_FLAGS) $(EXTRA_CFLAGS)
 
-OBJS        = $(TARGETDIR)/sched.o \
-              $(TARGETDIR)/stk.o   \
-              $(TARGETDIR)/sync.o  \
-              $(TARGETDIR)/key.o   \
-              $(TARGETDIR)/io.o    \
-              $(TARGETDIR)/event.o
+OBJS        = $(TARGETDIR)/sched.lo \
+              $(TARGETDIR)/stk.lo   \
+              $(TARGETDIR)/sync.lo  \
+              $(TARGETDIR)/key.lo   \
+              $(TARGETDIR)/io.lo    \
+              $(TARGETDIR)/event.lo
 OBJS        += $(EXTRA_OBJS)
 HEADER      = $(TARGETDIR)/st.h
-SLIBRARY    = $(TARGETDIR)/libst.a
+SLIBRARY    = $(TARGETDIR)/libst.la
 DLIBRARY    = $(TARGETDIR)/libst.$(DSO_SUFFIX).$(VERSION)
 EXAMPLES    = examples
 
@@ -344,12 +347,11 @@ $(TARGETDIR):
 	if [ ! -d $(TARGETDIR) ]; then mkdir $(TARGETDIR); fi
 
 $(SLIBRARY): $(OBJS)
-	$(AR) $(ARFLAGS) $@ $(OBJS)
-	$(RANLIB) $@
+	${LIBTOOL} --mode=link ${CC} -o $@ ${OBJS} -rpath ${PREFIX}/lib -version-info 1:4
 	rm -f obj; $(LN) $(LNFLAGS) $(TARGETDIR) obj
 
 $(DLIBRARY): $(OBJS:%.o=%-pic.o)
-	$(LD) $(LDFLAGS) $^ -o $@
+	${LIBTOOL} --mode=link --tag=CC $(LD) $(LDFLAGS) $^ -o $@
 	if test "$(LINKNAME)"; then                             \
 		cd $(TARGETDIR);				\
 		rm -f $(SONAME) $(LINKNAME);			\
@@ -361,11 +363,11 @@ $(HEADER): public.h
 	rm -f $@
 	cp public.h $@
 
-$(TARGETDIR)/md.o: md.S
-	$(CC) $(CFLAGS) -c $< -o $@
+$(TARGETDIR)/md.lo: md.S
+	$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $< -o $@
 
-$(TARGETDIR)/%.o: %.c common.h md.h
-	$(CC) $(CFLAGS) -c $< -o $@
+$(TARGETDIR)/%.lo: %.c common.h md.h
+	$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $< -o $@
 
 examples::
 	@echo Making $@
