| # 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 |