$OpenBSD: patch-GNUmakefile,v 1.7 2018/12/19 17:59:09 sthen Exp $
Index: GNUmakefile
--- GNUmakefile.orig
+++ GNUmakefile
@@ -13,7 +13,7 @@ LIBS=byte.a fmt.a scan.a str.a uint.a open.a stralloc.
 buffer.a mmap.a taia.a tai.a dns.a case.a mult.a array.a io.a \
 textcode.a cdb.a critbit.a
 
-all: headers ent $(LIBS) libowfat.a libsocket t
+all: headers ent $(LIBS) libowfat.a libowfat.so.$(SO_VERSION) libsocket t
 
 pic pie:
 	$(MAKE) CC="gcc -fPIC" LDFLAGS="-fpie"
@@ -23,7 +23,7 @@ CROSS=
 CC?=gcc
 CCC=$(CROSS)$(CC)
 WERROR=
-WARN=-W -Wall -Wextra $(WERROR)
+WARN=-W -Wall $(WERROR)
 
 # Use the second version if you are building for a binary that is only
 # supposed to run on this machine. It tells gcc to use CPU instructions
@@ -36,8 +36,8 @@ OPT_PLUS=-O3 $(NATIVE)
 
 DEFINE=-D_REENTRANT
 
-CFLAGS=-pipe $(WARN) $(DEFINE) $(OPT_REG)
-CFLAGS_OPT=-pipe $(WARN) $(DEFINE) $(OPT_PLUS)
+CFLAGS=$(COPTFLAGS) $(WARN) $(DEFINE) $(OPT_REG)
+CFLAGS_OPT=$(COPTFLAGS) $(WARN) $(DEFINE) $(OPT_PLUS)
 
 #CFLAGS=-pipe -Os -march=pentiumpro -mcpu=pentiumpro -fomit-frame-pointer -fschedule-insns2 -Wall
 
@@ -172,6 +172,9 @@ libowfat.a: $(ALL_OBJS)
 	$(CROSS)ar cru $@ $(ALL_OBJS)
 	-$(CROSS)ranlib $@
 
+libowfat.so.$(SO_VERSION): $(ALL_OBJS)
+	$(CC) -shared -fpic -o $@ $(ALL_OBJS)
+
 CFLAGS+=-I.
 CFLAGS_OPT+=-I.
 
@@ -220,9 +223,10 @@ install-inc:
 	install -d $(DESTDIR)$(INCLUDEDIR)/libowfat
 	install -m 644 $(INCLUDES) $(DESTDIR)$(INCLUDEDIR)/libowfat
 
-install-lib: libowfat.a
+install-lib: libowfat.a libowfat.so.$(SO_VERSION)
 	install -d $(DESTDIR)$(LIBDIR)
 	install -m 644 libowfat.a $(DESTDIR)$(LIBDIR)
+	install -m 644 libowfat.so.$(SO_VERSION) $(DESTDIR)$(LIBDIR)
 
 install-man:
 	install -d $(DESTDIR)$(MAN3DIR)
