1 # makefile for libpng 2 # Copyright (C) 2002, 2006 Glenn Randers-Pehrson 3 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. 4 # 5 # This code is released under the libpng license. 6 # For conditions of distribution and use, see the disclaimer 7 # and license in png.h 8 9 # where make install puts libpng.a and png.h 10 prefix=/usr/local 11 INCPATH=$(prefix)/include 12 LIBPATH=$(prefix)/lib 13 14 # override DESTDIR= on the make install command line to easily support 15 # installing into a temporary location. Example: 16 # 17 # make install DESTDIR=/tmp/build/libpng 18 # 19 # If you're going to install into a temporary location 20 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before 21 # you execute make install. 22 DESTDIR= 23 24 # Where the zlib library and include files are located 25 #ZLIBLIB=/usr/local/lib 26 #ZLIBINC=/usr/local/include 27 ZLIBLIB=../zlib 28 ZLIBINC=../zlib 29 30 CC=cc 31 AR_RC=ar rc 32 MKDIR_P=mkdir 33 LN_SF=ln -sf 34 RANLIB=ranlib 35 RM_F=rm -f 36 37 CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 38 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm 39 40 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ 41 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ 42 pngwtran.o pngmem.o pngerror.o pngpread.o 43 44 all: libpng.a pngtest 45 46 libpng.a: $(OBJS) 47 $(AR_RC) $@ $(OBJS) 48 $(RANLIB) $@ 49 50 pngtest: pngtest.o libpng.a 51 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) 52 53 test: pngtest 54 ./pngtest 55 56 install: libpng.a 57 -@$(MKDIR_P) $(DESTDIR)$(INCPATH) 58 -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng 59 -@$(MKDIR_P) $(DESTDIR)$(LIBPATH) 60 -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h 61 -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h 62 cp png.h $(DESTDIR)$(INCPATH)/libpng 63 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng 64 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h 65 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h 66 (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .) 67 cp libpng.a $(DESTDIR)$(LIBPATH) 68 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a 69 70 clean: 71 $(RM_F) *.o libpng.a pngtest pngout.png 72 73 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO 74 writelock: 75 chmod a-w *.[ch35] $(DOCS) scripts/* 76 77 # DO NOT DELETE THIS LINE -- make depend depends on it. 78 79 png.o: png.h pngconf.h 80 pngerror.o: png.h pngconf.h 81 pngrio.o: png.h pngconf.h 82 pngwio.o: png.h pngconf.h 83 pngmem.o: png.h pngconf.h 84 pngset.o: png.h pngconf.h 85 pngget.o: png.h pngconf.h 86 pngread.o: png.h pngconf.h 87 pngrtran.o: png.h pngconf.h 88 pngrutil.o: png.h pngconf.h 89 pngtrans.o: png.h pngconf.h 90 pngwrite.o: png.h pngconf.h 91 pngwtran.o: png.h pngconf.h 92 pngwutil.o: png.h pngconf.h 93 pngpread.o: png.h pngconf.h 94 95 pngtest.o: png.h pngconf.h 96