--- Makefile.orig	Thu Feb 22 09:03:43 2001
+++ Makefile	Sat Feb 24 16:25:23 2001
@@ -3,11 +3,11 @@
 #If you do not have gcc, change the setting for COMPILER, but you must
 #use an ANSI standard C compiler (NOT the old SunOS 4.1.3 cc
 #compiler; get gcc if you are still using it). 
-COMPILER=gcc
+COMPILER=${CC}
 
 #If the ar command fails on your system, consult the ar manpage
 #for your system. 
-AR=ar
+#AR=ar
 
 #If you don't have FreeType, libjpeg and/or Xpm installed, including the
 #header files, uncomment this (default). You really must install
@@ -16,8 +16,14 @@
 
 #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_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
-#	-DHAVE_LIBFREETYPE -DHAVE_LIBTTF 
+CFLAGS=-O -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
+.if defined(WITH_X11)
+CFLAGS+=-DHAVE_LIBXPM 
+.endif
+
+.if defined(JISX0208)
+CFLAGS+=-DJISX0208
+.endif
 
 #To use the old FreeType 1.x library, add this additional #define
 #to the line above
@@ -30,13 +36,15 @@
 #Some systems are very picky about link order. They don't all agree
 #on the right order, either.
 
-LIBS=-lgd -lpng -lz -lm
+LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
 
 #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=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf
+.if defined(WITH_X11)
+LIBS+=-lXpm -lX11
+.endif
 
 #Note: for Freetype 1.x, use DHAVE_LIBTTF and -lttf instead.
 
@@ -45,7 +53,10 @@
 #ensure that the version of gd you are installing is used, and not an 
 #older release in your directory tree somewhere.
 
-INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include 
+INCLUDEDIRS=-I. -I${LOCALBASE}/include/freetype2 -I${LOCALBASE}/include
+.if defined(WITH_X11)
+INCLUDEDIRS+=-I${X11BASE}/include/X11 -I${X11BASE}/include
+.endif
 
 #Typical install locations for freetype, zlib, xpm and libpng libraries.
 #If yours are somewhere else, other than a standard location
@@ -55,16 +66,19 @@
 #on your system can't cause conflicts while building a new one.
 #This line shouldn't hurt if you don't actually have some of the
 #optional libraries and directories.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
+LIBDIRS=-L. -L${LOCALBASE}/lib -Wl,--rpath,${LOCALBASE}/lib
+.if defined(WITH_X11)
+LIBDIRS+=-L${X11BASE}/lib -Wl,--rpath,${X11BASE}/lib
+.endif
 
 #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/gd
 
 #Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
+INSTALL_BIN=${PREFIX}/bin
 
 #
 #
@@ -74,34 +88,44 @@
 
 VERSION=1.8.4
 
-CC=$(COMPILER) $(INCLUDEDIRS)
-LINK=$(CC) $(LIBDIRS) $(LIBS)
+CC+=$(INCLUDEDIRS)
+#LINK=$(CC) $(LIBDIRS) $(LIBS)
 
 PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
 
 BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
 TEST_PROGRAMS=gdtest gddemo gd2time gdtestft gdtestttf
 
-all: libgd.a $(PROGRAMS)
+SOVER=2
 
-install: libgd.a $(BIN_PROGRAMS)
-	sh ./install-item 644 libgd.a $(INSTALL_LIB)/libgd.a
-	sh ./install-item 755 pngtogd $(INSTALL_BIN)/pngtogd
-	sh ./install-item 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
-	sh ./install-item 755 gdtopng $(INSTALL_BIN)/gdtopng
-	sh ./install-item 755 gd2topng $(INSTALL_BIN)/gd2topng
-	sh ./install-item 755 gd2copypal $(INSTALL_BIN)/gd2copypal
-	sh ./install-item 755 gdparttopng $(INSTALL_BIN)/gdparttopng
-	sh ./install-item 755 webpng $(INSTALL_BIN)/webpng
-	sh ./install-item 755 bdftogd $(INSTALL_BIN)/bdftogd
-	sh ./install-item 644 gd.h $(INSTALL_INCLUDE)/gd.h
-	sh ./install-item 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
-	sh ./install-item 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
-	sh ./install-item 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
-	sh ./install-item 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
-	sh ./install-item 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
-	sh ./install-item 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
-	sh ./install-item 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
+.SUFFIXES: .c .so .o
+
+.c.so:
+	$(CC) -fpic -DPIC $(CFLAGS) -o $@ -c $<
+
+all: libgd.a libgd.so.$(SOVER) $(PROGRAMS)
+
+install: libgd.a libgd.so.$(SOVER) $(BIN_PROGRAMS)
+	-mkdir -p $(INSTALL_LIB) $(INSTALL_INCLUDE) $(INSTALL_BIN)
+	${BSD_INSTALL_DATA} libgd.a $(INSTALL_LIB)/libgd.a
+	${BSD_INSTALL_DATA} libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so.$(SOVER)
+	-ln -sf libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so
+	${BSD_INSTALL_PROGRAM} pngtogd $(INSTALL_BIN)/pngtogd
+	${BSD_INSTALL_PROGRAM} pngtogd2 $(INSTALL_BIN)/pngtogd2
+	${BSD_INSTALL_PROGRAM} gdtopng $(INSTALL_BIN)/gdtopng
+	${BSD_INSTALL_PROGRAM} gd2topng $(INSTALL_BIN)/gd2topng
+	${BSD_INSTALL_PROGRAM} gd2copypal $(INSTALL_BIN)/gd2copypal
+	${BSD_INSTALL_PROGRAM} gdparttopng $(INSTALL_BIN)/gdparttopng
+	${BSD_INSTALL_PROGRAM} webpng $(INSTALL_BIN)/webpng
+	${BSD_INSTALL_SCRIPT} bdftogd $(INSTALL_BIN)/bdftogd
+	${BSD_INSTALL_DATA} gd.h $(INSTALL_INCLUDE)/gd.h
+	${BSD_INSTALL_DATA} gdcache.h $(INSTALL_INCLUDE)/gdcache.h
+	${BSD_INSTALL_DATA} gd_io.h $(INSTALL_INCLUDE)/gd_io.h
+	${BSD_INSTALL_DATA} gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
+	${BSD_INSTALL_DATA} gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
+	${BSD_INSTALL_DATA} gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
+	${BSD_INSTALL_DATA} gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
+	${BSD_INSTALL_DATA} gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
 
 gddemo: gddemo.o libgd.a
 	$(CC) gddemo.o -o gddemo	$(LIBDIRS) $(LIBS)
@@ -138,18 +162,21 @@
 gdtestttf: gdtestttf.o libgd.a
 	$(CC) --verbose gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
 
-libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
+OBJS= 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 gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
-	gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
+	gd_wbmp.o gdhelpers.o
+INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
 	gdfontg.h gdhelpers.h
+
+libgd.a:	$(INCS) $(OBJS)
 	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 gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
-		gd_wbmp.o gdhelpers.o
+	$(AR) rc libgd.a $(OBJS)
 	-ranlib libgd.a
+
+libgd.so.$(SOVER):	$(INCS) $(OBJS:.o=.so)
+	$(CC) -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
+	ln -sf libgd.so.$(SOVER) libgd.so
 
 clean:
 	rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp
