$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 $@