$OpenBSD: patch-libjbig_Makefile,v 1.7 2013/08/06 17:03:51 miod Exp $
--- libjbig/Makefile.orig	Sat Aug 30 17:20:52 2008
+++ libjbig/Makefile	Mon Aug  5 04:47:03 2013
@@ -7,8 +7,14 @@ CC = gcc
 # Options for the compiler: A high optimization level is suggested
 CFLAGS = -g -O -Wall -ansi -pedantic # --coverage
 
-all: libjbig.a tstcodec tstcodec85
+PICFLAG= -fpic
 
+.if defined(NO_SHARED_LIBS) && ${NO_SHARED_LIBS:L} == "yes"
+all: libjbig.a libjbig85.a
+.else
+all: libjbig.a libjbig.so.$(VERSION) libjbig85.a libjbig85.so.$(VERSION)
+.endif
+
 tstcodec: tstcodec.o jbig.o jbig_ar.o
 	$(CC) $(CFLAGS) -o tstcodec $+
 
@@ -16,15 +22,28 @@ tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
 	$(CC) $(CFLAGS) -o tstcodec85 $+
 
 libjbig.a: jbig.o jbig_ar.o
-	rm -f libjbig.a
-	ar rc libjbig.a jbig.o jbig_ar.o
-	-ranlib libjbig.a
+	rm -f ${.TARGET}
+	ar rc ${.TARGET} ${.ALLSRC}
+	-ranlib ${.TARGET}
 
+libjbig.so.$(VERSION): jbig.so jbig_ar.so
+	rm -f ${.TARGET}
+	${CC} -shared $(PICFLAG) -o ${.TARGET} ${.ALLSRC}
+
 libjbig85.a: jbig85.o jbig_ar.o
-	rm -f libjbig85.a
-	ar rc libjbig85.a jbig85.o jbig_ar.o
-	-ranlib libjbig85.a
+	rm -f ${.TARGET}
+	ar rc ${.TARGET} ${.ALLSRC}
+	-ranlib ${.TARGET}
 
+libjbig85.so.$(VERSION): jbig85.so jbig_ar.so
+	rm -f ${.TARGET}
+	${CC} -shared $(PICFLAG) -o ${.TARGET} ${.ALLSRC}
+
+.SUFFIXES: .o .so
+
+.c.so:
+	${CC} ${CFLAGS} $(PICFLAG) -c ${.IMPSRC} -o ${.TARGET}
+
 jbig.o: jbig.c jbig.h jbig_ar.h
 jbig85.o: jbig85.c jbig85.h jbig_ar.h
 jbig_ar.o: jbig_ar.c jbig_ar.h
@@ -44,5 +63,4 @@ t82test.pbm: tstcodec
 	./tstcodec $@
 
 clean:
-	rm -f *.{o,gcda,gcno,gcov} *~ core gmon.out dbg_d\=??.pbm t82test.pbm
-	rm -f tstcodec tstcodec85
+	rm -f *.{o,gcda,gcno,gcov} *~ core gmon.out dbg_d\=??.pbm libjbig.so.$(VERSION) libjbig85.so.$(VERSION)
