#Command for building a shared library. This varies depending on the OS. LINK_SHARED_HEAD=ld -shared LINK_SHARED_TAIL= #If the ar command fails on your system, consult the ar manpage #for your system. AR=ar CFLAGS=-g -DHAVE_LIBPNG -DHAVE_LIBZ -DHAVE_LIBJPEG -DHAVE_MALLOC_H -DHAVE_LIBFREETYPE -DHAVE_LIBXPM LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include LIBDIRS=-L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib INSTALL_LIB=/usr/lib INSTALL_INCLUDE=/usr/include INSTALL_BIN=/usr/bin # # # Changes should not be required below here. # # # Update these with each release! MAJOR_VERSION=2 VERSION=2.0.3 COMPILER=gcc -fPIC CC=$(COMPILER) $(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 testac fontsizetest fontwheeltest default: instructions instructions: @echo Edit this Makefile if you wish. The configure script makes @echo reasonable guesses, but as of this writing \(2.0.2\) has not @echo been field-tested on a lot of systems. @echo @echo Second, type \'make install\' as root. @echo @echo This installs the GD ${VERSION} shared library, @echo which is required in order to use the included @echo utility programs, and also includes the utility @echo programs such as webpng, pngtogd, etc. @echo @echo OPTIONAL third step: type \'make test\' to build @echo the optional test programs. Type \'make install\' FIRST. @echo @echo IF SHARED LIBRARIES WON\'T WORK FOR YOU: @echo Type \'make libgd.a\' to produce a static library, @echo which you can install manually in /usr/lib. test: $(TEST_PROGRAMS) install: libgd.so.${VERSION} $(BIN_PROGRAMS) 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 gddemo: gddemo.o $(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS) testac: testac.o $(CC) testac.o -o testac $(LIBDIRS) $(LIBS) pngtogd: pngtogd.o $(CC) pngtogd.o -o pngtogd $(LIBDIRS) $(LIBS) webpng: webpng.o $(CC) webpng.o -o webpng $(LIBDIRS) $(LIBS) pngtogd2: pngtogd2.o $(CC) pngtogd2.o -o pngtogd2 $(LIBDIRS) $(LIBS) gdtopng: gdtopng.o $(CC) gdtopng.o -o gdtopng $(LIBDIRS) $(LIBS) gd2topng: gd2topng.o $(CC) gd2topng.o -o gd2topng $(LIBDIRS) $(LIBS) gd2copypal: gd2copypal.o $(CC) gd2copypal.o -o gd2copypal $(LIBDIRS) $(LIBS) gdparttopng: gdparttopng.o $(CC) gdparttopng.o -o gdparttopng $(LIBDIRS) $(LIBS) gdtest: gdtest.o $(CC) gdtest.o -o gdtest $(LIBDIRS) $(LIBS) gd2time: gd2time.o $(CC) gd2time.o -o gd2time $(LIBDIRS) $(LIBS) gdtestft: gdtestft.o $(CC) --verbose gdtestft.o -o gdtestft $(LIBDIRS) $(LIBS) fontwheeltest: fontwheeltest.o $(CC) --verbose fontwheeltest.o -o fontwheeltest $(LIBDIRS) $(LIBS) fontsizetest: fontsizetest.o $(CC) --verbose fontsizetest.o -o fontsizetest $(LIBDIRS) $(LIBS) LIBOBJS=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 gdcache.o gdkanji.o wbmp.o \ gd_wbmp.o gdhelpers.o gd_topal.o #Shared library. This should work fine on any ELF platform (Linux, etc.) with #GNU ld or something similarly intelligent. To avoid the chicken-and-egg #problem, this target also installs the library so that applications can #actually find it. libgd.so.${VERSION}: ${LIBOBJS} -rm -f libgd.so.${VERSION} 2>/dev/null ${LINK_SHARED_HEAD} -o libgd.so.${VERSION} ${LIBOBJS} sh ./install-item 644 libgd.so.${VERSION} \ $(INSTALL_LIB)/libgd.so.${VERSION} -rm $(INSTALL_LIB)/libgd.so.${MAJOR_VERSION} 2>/dev/null ln -s $(INSTALL_LIB)/libgd.so.${VERSION} \ $(INSTALL_LIB)/libgd.so.${MAJOR_VERSION} -rm $(INSTALL_LIB)/libgd.so 2>/dev/null ln -s $(INSTALL_LIB)/libgd.so.${VERSION} \ $(INSTALL_LIB)/libgd.so #Static library, if you really need one for some reason. libgd.a: ${LIBOBJS} rm -f libgd.a $(AR) rc libgd.a ${LIBOBJS} -ranlib libgd.a clean: rm -f *.o *.a *.so ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp test/fttest.png test/fttest.jpg font*test*.png