--- Makefile.orig	Mon Mar 13 13:25:57 2000
+++ Makefile	Wed Mar 15 09:01:03 2000
@@ -15,23 +15,23 @@
 
 #If you don't have FreeType, libjpeg and/or Xpm installed, including the
 #header files, uncomment this (default).
-CFLAGS=-O
+#CFLAGS=-O
 #If you do have FreeType, libjpeg and/or Xpm fully installed, uncomment a
 #variation of this and comment out the line above. See also LIBS below.
-#CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
+CFLAGS+=-DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
 
 #If you don't have FreeType and/or Xpm fully installed, uncomment this
 #(default).
-LIBS=-lm -lgd -lpng -lz
+#LIBS=-lm -lgd -lpng -lz
 
 #If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a 
 #variation of this and comment out the line above. Note that
 #Xpm requires X11. See also CFLAGS above.
-#LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
+LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
 
 #Typical install locations for freetype, zlib, xpm, libjpeg and libpng header files.
 #If yours are somewhere else, change this. 
-INCLUDEDIRS=-I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
+INCLUDEDIRS=-I/usr/local/include -I/usr/X11R6/include -I/usr/X11R6/include/X11
 
 #Typical install locations for freetype, zlib, xpm and libpng libraries.
 #If yours are somewhere else, other than a standard location
@@ -39,16 +39,16 @@
 #-L. as this allows the gd library itself to be found.
 #Put -L. first so that old versions of the gd library elsewhere
 #on your system can't cause conflicts while building a new one.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
+LIBDIRS=-L. -L/usr/local/lib -L/usr/X11R6/lib
 
 #Location where libgd.a should be installed by "make install".
-INSTALL_LIB=/usr/local/lib
+INSTALL_LIB=$(PREFIX)/lib
 
 #Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=/usr/local/include
+INSTALL_INCLUDE=$(PREFIX)/include
 
 #Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
+INSTALL_BIN=$(PREFIX)/bin
 
 #
 #
@@ -65,27 +65,39 @@
 
 BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
 TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
+SOLIBGD=libgd.so.18.1
 
+.if defined(NO_SHARED_LIBS) && ${NO_SHARED_LIBS:U} == YES
 all: libgd.a $(PROGRAMS)
+.else
+all: libgd.a $(SOLIBGD) $(PROGRAMS)
+.endif
 
+.if defined(NO_SHARED_LIBS) && ${NO_SHARED_LIBS:U} == YES
 install: libgd.a $(BIN_PROGRAMS)
-	$(INSTALL) -m 644 libgd.a $(INSTALL_LIB)/libgd.a
-	$(INSTALL) -m 755 pngtogd $(INSTALL_BIN)/pngtogd
-	$(INSTALL) -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
-	$(INSTALL) -m 755 gdtopng $(INSTALL_BIN)/gdtopng
-	$(INSTALL) -m 755 gd2topng $(INSTALL_BIN)/gd2topng
-	$(INSTALL) -m 755 gd2copypal $(INSTALL_BIN)/gd2copypal
-	$(INSTALL) -m 755 gdparttopng $(INSTALL_BIN)/gdparttopng
-	$(INSTALL) -m 755 webpng $(INSTALL_BIN)/webpng
-	$(INSTALL) -m 755 bdftogd $(INSTALL_BIN)/bdftogd
-	$(INSTALL) -m 644 gd.h $(INSTALL_INCLUDE)/gd.h
-	$(INSTALL) -m 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
-	$(INSTALL) -m 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
-	$(INSTALL) -m 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
-	$(INSTALL) -m 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
-	$(INSTALL) -m 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
-	$(INSTALL) -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
-	$(INSTALL) -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
+.else
+install: libgd.a $(SOLIBGD) $(BIN_PROGRAMS)
+.endif
+	$(BSD_INSTALL_DATA) -m 644 libgd.a $(INSTALL_LIB)
+	@if [ -f $(SOLIBGD) ]; then \
+	 $(BSD_INSTALL_DATA) -m 644 $(SOLIBGD) $(INSTALL_LIB); \
+	fi
+	$(BSD_INSTALL_PROGRAM) pngtogd $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) pngtogd2 $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) gdtopng $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) gd2topng $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) gd2copypal $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) gdparttopng $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) webpng $(INSTALL_BIN)
+	$(BSD_INSTALL_PROGRAM) bdftogd $(INSTALL_BIN)
+	$(BSD_INSTALL_DATA) gd.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdcache.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gd_io.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdfontg.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdfontl.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdfontmb.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdfonts.h $(INSTALL_INCLUDE)
+	$(BSD_INSTALL_DATA) gdfontt.h $(INSTALL_INCLUDE)
 
 gddemo: gddemo.o libgd.a
 	$(CC) gddemo.o -o gddemo	$(LIBDIRS) $(LIBS)
@@ -122,15 +134,23 @@
 
 libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
 	gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
-	gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o \
-	gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
-	rm -f libgd.a
-	$(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
-		gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o \
-		gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
-		gdtables.o gdttf.o gdcache.o gdkanji.o
-	-ranlib libgd.a
+	gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o
+	rm -f ${.TARGET}
+	$(AR) rc ${.TARGET} ${.ALLSRC}
+	-ranlib ${.TARGET}
+
+$(SOLIBGD): gd.so gd_gd.so gd_gd2.so gd_io.so gd_io_dp.so gd_io_file.so \
+	gd_ss.so gd_io_ss.so gd_png.so gd_jpeg.so gdxpm.so gdfontt.so \
+	gdfonts.so  gdfontmb.so gdfontl.so gdfontg.so gdtables.so gdttf.so \
+	gdcache.so gdkanji.so
+	rm -f ${.TARGET}
+	ld -Bshareable -Bforcearchive -o ${.TARGET} ${.ALLSRC}
 
 clean:
-	rm -f *.o *.a ${PROGRAMS}
+	rm -f *.o ${PROGRAMS} libgd.a $(SOLIBGD)
 
+.SUFFIXES: .c .o .so
+.c.o:
+	${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+.c.so:
+	${CC} ${CFLAGS} -fpic -DPIC -c ${.IMPSRC} -o ${.TARGET}
