--- Makefile.orig Sun Jun 4 03:26:12 2000 +++ Makefile Thu Nov 9 14:53:41 2000 @@ -3,18 +3,22 @@ #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). -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 +.if defined(WITH_X11) +CFLAGS+=-DHAVE_XPM -DHAVE_JPEG +.else +CFLAGS+=-DHAVE_JPEG -DHAVE_LIBTTF +.endif #If you don't have FreeType and/or Xpm fully installed, uncomment this #(default). @@ -23,7 +27,7 @@ #Some systems are very picky about link order. They don't all agree #on the right order, either. -LIBS=-lm -lgd -lpng -lz +LIBS=-lm -lgd -lpng -lz -ljpeg -lttf #If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a #variation of this and comment out the line above. Note that @@ -33,14 +37,19 @@ #Some systems are very picky about link order. They don't all agree #on the right order, either. -#LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11 +.if defined(WITH_X11) +LIBS+= -lXpm -lX11 +.endif #Typical install locations for freetype, zlib, xpm, libjpeg and libpng header files. #If yours are somewhere else, change this. #-I. is important to 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/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11 +INCLUDEDIRS=-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype +.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 @@ -48,16 +57,19 @@ #-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$(LOCALBASE)/lib +.if defined(WITH_X11) +LIBDIRS+=-L$(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 # # @@ -65,36 +77,43 @@ # # -VERSION=1.8.1 +VERSION=1.8.2 -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 gdtestttf -all: libgd.a $(PROGRAMS) +.SUFFIXES: .c .so .o + +.c.so: + ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +all: libgd.a libgd.so.1 $(PROGRAMS) 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 + $(INSTALL) -c -m 644 libgd.a $(INSTALL_LIB)/libgd.a + $(INSTALL) -c -m 755 pngtogd $(INSTALL_BIN)/pngtogd + $(INSTALL) -c -m 755 libgd.so.1 $(INSTALL_LIB)/libgd.so.1 + ln -sf libgd.so.1 $(INSTALL_LIB)/libgd.so + $(INSTALL) -c -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2 + $(INSTALL) -c -m 755 gdtopng $(INSTALL_BIN)/gdtopng + $(INSTALL) -c -m 755 gd2topng $(INSTALL_BIN)/gd2topng + $(INSTALL) -c -m 755 gd2copypal $(INSTALL_BIN)/gd2copypal + $(INSTALL) -c -m 755 gdparttopng $(INSTALL_BIN)/gdparttopng + $(INSTALL) -c -m 755 webpng $(INSTALL_BIN)/webpng + $(INSTALL) -c -m 755 bdftogd $(INSTALL_BIN)/bdftogd + $(INSTALL) -c -m 644 gd.h $(INSTALL_INCLUDE)/gd.h + $(INSTALL) -c -m 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h + $(INSTALL) -c -m 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h + $(INSTALL) -c -m 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h + $(INSTALL) -c -m 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h + $(INSTALL) -c -m 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h + $(INSTALL) -c -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h + $(INSTALL) -c -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h gddemo: gddemo.o libgd.a $(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS) @@ -129,16 +148,19 @@ gdtestttf: gdtestttf.o libgd.a $(CC) 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 gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o \ - gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h + gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o +INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.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 gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o + $(AR) rc libgd.a $(OBJS) -ranlib libgd.a + +libgd.so.1: $(INCS) $(OBJS:.o=.so) + $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS) + ln -sf libgd.so.1 libgd.so clean: rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp