1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
GDC_INCL = .
GDC_LIB = .
# GDChart requires the gd library - www.boutell.com/gd/
GD_INCL = /usr/include
GD_LIB = /usr/lib
# libgd requires libpng
# PNG_INCL = ../libpng-1.0.8
# PNG_LIB = ../libpng-1.0.8
# libgd requires zlib
# ZLIB_INCL = ../zlib-1.1.3
# ZLIB_LIB = ../zlib-1.1.3
# libgd needs libjpeg to produce JPEG images
# JPEG_INCL = ../libjpeg
# JPEG_LIB = ../libjpeg
# JPEG_DEF = -DHAVE_JPEG
# JPEG_LK = -ljpeg
LIB_PATHS = -L$(GD_LIB)
# if not installed in standard paths (/lib, /usr/lib), or LD_LIBRARY_PATH
# LIB_PATHS = -L$(GD_LIB) -L$(PNG_LIB) -L$(ZLIB_LIB) -L$(JPEG_LIB)
# NOTE:
# libpng, libz, etc. are usually linked in as dynamic libs
# either use a link line similar to one of these, or set environment LD_LIBRARY_PATH
# these should likely be absolute paths, as resolved at runtime
# LIB_PATHS = $(LIB_PATHS) -R$(PNG_LIB) -R$(ZLIB_LIB)
# LIB_PATHS = $(LIB_PATHS) -Xlinker -rpath -Xlinker $(PNG_LIB) -Xlinker -rpath -Xlinker $(ZLIB_LIB)
CC=gcc $(INCLUDEDIRS)
all: gdc_samp1 gdc_samp2 gdc_pie_samp
# --- compile the samples ---
gdc_pie_samp.o: $(GDC_INCL)/gdc.h $(GDC_INCL)/gdcpie.h gdc_pie_samp.c
$(CC) -I$(GDC_INCL) -c gdc_pie_samp.c
gdc_samp1.o: $(GDC_INCL)/gdc.h $(GDC_INCL)/gdchart.h gdc_samp1.c
$(CC) -I$(GDC_INCL) $(JPEG_DEF) -c gdc_samp1.c
gdc_samp2.o: $(GDC_INCL)/gdc.h $(GDC_INCL)/gdchart.h gdc_samp2.c
$(CC) -I$(GDC_INCL) $(JPEG_DEF) -c gdc_samp2.c
# --- link the samples ---
gdc_samp1: gdc.o gdchart.o price_conv.o gdc_samp1.o gifencode.o $(GD_LIB)/libgd.a
$(CC) -o gdc_samp1 \
gdc.o gdchart.o price_conv.o gifencode.o \
gdc_samp1.o \
$(LIB_PATHS) \
-lgd -lz -lpng $(JPEG_LK) -lm
gdc_samp2: gdc.o gdchart.o price_conv.o gdc_samp2.o gifencode.o $(GD_LIB)/libgd.a
$(CC) -o gdc_samp2 \
gdc.o gdchart.o price_conv.o gifencode.o \
gdc_samp2.o \
$(LIB_PATHS) \
-lgd -lz -lpng $(JPEG_LK) -lm
gdc_pie_samp: gdc.o gdc_pie.o price_conv.o gdc_pie_samp.o gifencode.o $(GD_LIB)/libgd.a
$(CC) -o gdc_pie_samp \
gdc.o gdc_pie.o price_conv.o gifencode.o \
gdc_pie_samp.o \
$(LIB_PATHS) \
-lgd -lz -lpng $(JPEG_LK) -lm
# --- compile the lib ---
libgdchart.a: gifencode.o price_conv.o gdc.o gdc_pie.o gdchart.o
ar rc $@ $?
ranlib $@
#gifencode.o: gifencode.c gifencode.h
# $(CC) -I$(GD_INCL) -c gifencode.c
#price_conv.o: price_conv.c
# $(CC) -c price_conv.c
#gdc.o: gdc.c $(GDC_INCL)/gdc.h $(GDC_INCL)/gifencode.h
# $(CC) -I$(GD_INCL) -I$(GDC_INCL) $(JPEG_DEF) -c gdc.c
#gdc_pie.o: $(GDC_INCL)/gdc.h $(GDC_INCL)/gifencode.h $(GDC_INCL)/gdcpie.h gdc_pie.c
# $(CC) -I$(GD_INCL) -I$(GDC_INCL) $(JPEG_DEF) -c gdc_pie.c
#gdchart.o: $(GDC_INCL)/gdc.h $(GDC_INCL)/gifencode.h $(GDC_INCL)/gdchart.h gdchart.c
# $(CC) -I$(GD_INCL) -I$(GDC_INCL) $(JPEG_DEF) -c gdchart.c
# --- supporting libraries ---
# should be compile & installed separately
# $(GD_LIB)/libgd.a:
# cd $(GD_LIB) ; make -f Makefile libgd.a
# --- clean ---
clean:
rm -f *.o gdc_samp1 gdc_samp2 gdc_pie_samp
# cd $(GD_LIB) ; make -f Makefile clean
|