| # makefile for libpng |
| # Copyright (C) 2002, 2006 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 |
| |
| # 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= |
| |
| # Where the zlib library and include files are located |
| #ZLIBLIB=/usr/local/lib |
| #ZLIBINC=/usr/local/include |
| ZLIBLIB=../zlib |
| ZLIBINC=../zlib |
| |
| CC=cc |
| AR_RC=ar rc |
| MKDIR_P=mkdir |
| LN_SF=ln -sf |
| RANLIB=ranlib |
| RM_F=rm -f |
| AWK = awk |
| SED = sed |
| CPP = $(CC) -E |
| ECHO = echo |
| |
| DFNFLAGS = # DFNFLAGS contains -D options to use in the libpng build |
| CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 |
| LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm |
| |
| 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: libpng.a pngtest |
| |
| # The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt, |
| # copy this if the following doesn't work. |
| pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk |
| $(RM_F) $@ dfn?.out |
| $(AWK) -f scripts/options.awk out=dfn1.out\ |
| scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2 |
| $(AWK) -f scripts/options.awk out=dfn2.out dfn1.out 1>&2 |
| cp dfn2.out $@ |
| $(RM_F) dfn?.out |
| |
| pnglibconf.h: pnglibconf.dfn |
| $(RM_F) $@ dfn.c dfn?.out |
| $(ECHO) '#include "pnglibconf.dfn"' >dfn.c |
| $(CPP) $(DFNFLAGS) dfn.c >dfn1.out |
| $(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\ |
| dfn1.out >dfn2.out |
| $(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out |
| cp dfn3.out $@ |
| $(RM_F) dfn.c dfn?.out |
| |
| libpng.a: $(OBJS) |
| $(AR_RC) $@ $(OBJS) |
| $(RANLIB) $@ |
| |
| pngtest: pngtest.o libpng.a |
| $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) |
| |
| test: pngtest |
| ./pngtest |
| |
| install: libpng.a pnglibconf.h |
| -@$(MKDIR_P) $(DESTDIR)$(INCPATH) |
| -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng |
| -@$(MKDIR_P) $(DESTDIR)$(LIBPATH) |
| -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h |
| -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h |
| -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.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 pnglibconf.* dfn.c dfn?.out |
| |
| 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 |
| 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 |
| pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| |
| pngtest.o: png.h pngconf.h pnglibconf.h |