1 # makefile for libpng 2 # Copyright (C) 2002, 2006, 2014 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 31 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow -Wconversion \ 32 -Wmissing-declarations -Wtraditional -Wcast-align \ 33 -Wstrict-prototypes -Wmissing-prototypes 34 35 CC=gcc 36 AR_RC=ar rc 37 MKDIR_P=mkdir -p 38 LN_SF=ln -f -s 39 RANLIB=ranlib 40 RM_F=/bin/rm -f 41 42 CPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5 43 CFLAGS=-O # $(WARNMORE) 44 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm 45 46 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ 47 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ 48 pngwtran.o pngmem.o pngerror.o pngpread.o 49 50 .c.o: 51 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< 52 53 all: libpng.a pngtest 54 55 # see scripts/pnglibconf.mak for more options 56 pnglibconf.h: scripts/pnglibconf.h.prebuilt 57 cp scripts/pnglibconf.h.prebuilt $@ 58 59 libpng.a: $(OBJS) 60 $(AR_RC) $@ $(OBJS) 61 $(RANLIB) $@ 62 63 pngtest: pngtest.o libpng.a 64 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) 65 66 test: pngtest 67 ./pngtest 68 69 install: libpng.a 70 -@$(MKDIR_P) $(DESTDIR)$(INCPATH) 71 -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng 72 -@$(MKDIR_P) $(DESTDIR)$(LIBPATH) 73 -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h 74 -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h 75 -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h 76 cp png.h $(DESTDIR)$(INCPATH)/libpng 77 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng 78 cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng 79 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h 80 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h 81 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h 82 (cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .) 83 cp libpng.a $(DESTDIR)$(LIBPATH) 84 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a 85 86 clean: 87 $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h 88 89 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO 90 writelock: 91 chmod a-w *.[ch35] $(DOCS) scripts/* 92 93 # DO NOT DELETE THIS LINE -- make depend depends on it. 94 95 png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 96 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 97 pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 98 pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 99 pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 100 pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 101 pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 102 pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 103 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 104 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 105 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 106 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 107 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 108 pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 109 pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 110 111 pngtest.o: png.h pngconf.h pnglibconf.h 112