$NetBSD: patch-src_Makefile,v 1.2 2024/10/07 00:40:58 schmonz Exp $

Libtoolize for portable shared libraries.

--- src/Makefile.orig	2024-10-05 13:21:14.000000000 +0000
+++ src/Makefile
@@ -6,10 +6,14 @@ SHELL=/bin/sh
 CCFLAGS=-I../include
 
 SRCS=*.c
-OBJS=*.o
-COMPILE=./compile
-MAKELIB=./makelib
-SHAREDLIB=./sharedlib
+.SUFFIXES: .lo
+.c.lo:
+	$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CCFLAGS) -c -o $@ $<
+
+OBJS=*.lo
+COMPILE=../compile
+MAKELIB=../makelib
+SHAREDLIB=../sharedlib
 
 default: clean check libs 
 
@@ -25,42 +29,40 @@ clean:
 core: alloc.a buffer.a case.a cdb.a constmap.a env.a \
 fd.a fs.a getln.a getopt.a lock.a logmsg.a ndelay.a open.a \
 seek.a sig.a str.a stralloc.a time.a wait.a \
-ip.a socket.a dnsresolv.a 
+ip.a socket.a dnsresolv.a \
+base64.o pathexec.o prot.o readclose.o \
+uint128p.o uint16p.o uint32p.o uint64p.o uint8p.o
 
-libs: obj core qlibs.a dnsresolv.a
-
-obj:
-	@echo Making all in qlibs ...
-	$(COMPILE) $(CCFLAGS) $(CFLAGS) $(SRCS)
+libs: core qlibs.a dnsresolv.a
 
 install: setup
 
 setup:
-	@../install
+	@cd .. && ./install
 
 shared: $(COMPILE) $(SHAREDLIB) $(OBJS) ./dnsstub/$(OBJS)
 	@echo "Building shared qlibs ..."
-	$(SHAREDLIB) $(LDFLAGS) $(OBJS) -o libqlibs.so 
-	$(SHAREDLIB) $(LDFLAGS) ./dnsstub/$(OBJS) -o libdnsresolv.so
-	@ln -f libqlibs.so ../libqlibs.so
-	@ln -f libdnsresolv.so ../libdnsresolv.so
-
+	$(SHAREDLIB) libqlibs.la $(OBJS) \
+		-version-info 0:0:0 -rpath $(PREFIX)/lib/qlibs
+	$(SHAREDLIB) libdnsresolv.la ./dnsstub/$(OBJS) \
+		-version-info 0:0:0 -rpath $(PREFIX)/lib/qlibs
  
-qlibs.a: obj socket.a 
-	$(MAKELIB) $(LDFLAGS) qlibs.a *.o 
+qlibs.a: $(OBJS) socket.a 
+	$(MAKELIB) $(LDFLAGS) qlibs.a $(OBJS)
 	@echo "Creating libqlibs ... "  
-	@ln -f qlibs.a ../libqlibs.a
+	@ln -f qlibs.a libqlibs.a
 
 dnsresolv.a: 
 	@echo "Building @dnsresolv lib ..."
-	@cd dnsstub ; make
+	@cd dnsstub ; $(MAKE) dnsresolv.a
 	@cp dnsstub/dnsresolv.a dnsresolv.a
-	@ln -f dnsresolv.a ../libdnsresolv.a
+	@ln -f dnsresolv.a libdnsresolv.a
 
-socket.a: ip.a
+socket.a: socket_if.o socket_bind.o socket_connect.o \
+socket_info.o socket_recv.o socket_send.o socket_setup.o socket_tcp.o socket_udp.o ip.a 
 	@echo "Building socket lib ..."
 	$(MAKELIB) $(LDFLAGS) socket.a socket_if.o socket_bind.o socket_connect.o \
-	socket_info.o socket_setup.o socket_tcp.o socket_udp.o ip.a 
+	socket_info.o socket_recv.o socket_send.o socket_setup.o socket_tcp.o socket_udp.o ip.a 
 
 # build each file separately (backwards compat) - better use recipe qlibs.a
 alloc.a: alloc.o
