# makefile for libpng # Copyright (C) 2002, 2006, 2009, 2014 Glenn Randers-Pehrson # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. # # This code is released under the libpng license. # For conditions of distribution and use, see the disclaimer # and license in png.h # # This makefile requires the file ansi2knr.c, which you can get # from the Ghostscript ftp site at ftp://ftp.cs.wisc.edu/ghost/ # If you have libjpeg, you probably already have ansi2knr.c in the jpeg # source distribution. # where make install puts libpng.a and png.h prefix=/usr/local INCPATH=$(prefix)/include LIBPATH=$(prefix)/lib # override DESTDIR= on the make install command line to easily support # installing into a temporary location. Example: # # make install DESTDIR=/tmp/build/libpng # # If you're going to install into a temporary location # via DESTDIR, $(DESTDIR)$(prefix) must already exist before # you execute make install. DESTDIR= CC = cc CPPFLAGS = -I../zlib CFLAGS = -O LDFLAGS = -L. -L../zlib/ -lpng -lz -lm # flags for ansi2knr ANSI2KNRFLAGS= RANLIB = ranlib #RANLIB = echo CP = cp RM_F = rm -f # Pre-built configuration # See scripts/pnglibconf.mak for more options PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ pngwtran.o pngmem.o pngerror.o pngpread.o all: ansi2knr libpng.a pngtest pnglibconf.h: $(PNGLIBCONF_H_PREBUILT) $(CP) $(PNGLIBCONF_H_PREBUILT) $@ # general rule to allow ansi2knr to work .c.o: ./ansi2knr $*.c T$*.c $(CC) $(CPPFLAGS) $(CFLAGS) -c T$*.c rm -f T$*.c $*.o mv T$*.o $*.o ansi2knr: ansi2knr.c $(CC) $(CPPFLAGS) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c libpng.a: ansi2knr $(OBJS) ar rc $@ $(OBJS) $(RANLIB) $@ pngtest: pngtest.o libpng.a $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) test: pngtest ./pngtest install: libpng.a png.h pngconf.h pnglibconf.h -@mkdir $(DESTDIR)$(INCPATH) -@mkdir $(DESTDIR)$(INCPATH)/libpng -@mkdir $(DESTDIR)$(LIBPATH) -@rm -f $(DESTDIR)$(INCPATH)/png.h -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h cp png.h $(DESTDIR)$(INCPATH)/libpng cp pngconf.h $(DESTDIR)$(INCPATH)/libpng cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .) cp libpng.a $(DESTDIR)$(LIBPATH) chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a clean: $(RM_F) *.o libpng.a pngtest pngout.png ansi2knr pnglibconf.h DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO writelock: chmod a-w *.[ch35] $(DOCS) scripts/* # DO NOT DELETE THIS LINE -- make depend depends on it. png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngtest.o: png.h pngconf.h pnglibconf.h