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 CP=cp 41 RM_F=/bin/rm -f 42 43 CPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5 44 CFLAGS=-O # $(WARNMORE) 45 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm 46 47 # Pre-built configuration 48 # See scripts/pnglibconf.mak for more options 49 PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt 50 51 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ 52 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ 53 pngwtran.o pngmem.o pngerror.o pngpread.o 54 55 .c.o: 56 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< 57 58 all: libpng.a pngtest 59 60 pnglibconf.h: $(PNGLIBCONF_H_PREBUILT) 61 $(CP) $(PNGLIBCONF_H_PREBUILT) $@ 62 63 libpng.a: $(OBJS) 64 $(AR_RC) $@ $(OBJS) 65 $(RANLIB) $@ 66 67 pngtest: pngtest.o libpng.a 68 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) 69 70 test: pngtest 71 ./pngtest 72 73 install: libpng.a 74 -@$(MKDIR_P) $(DESTDIR)$(INCPATH) 75 -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng 76 -@$(MKDIR_P) $(DESTDIR)$(LIBPATH) 77 -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h 78 -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h 79 -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h 80 cp png.h $(DESTDIR)$(INCPATH)/libpng 81 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng 82 cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng 83 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h 84 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h 85 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h 86 (cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .) 87 cp libpng.a $(DESTDIR)$(LIBPATH) 88 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a 89 90 clean: 91 $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h 92 93 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO 94 writelock: 95 chmod a-w *.[ch35] $(DOCS) scripts/* 96 97 # DO NOT DELETE THIS LINE -- make depend depends on it. 98 99 png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 100 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 101 pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 102 pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 103 pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 104 pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 105 pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 106 pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 107 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 108 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 109 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 110 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 111 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 112 pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 113 pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 114 115 pngtest.o: png.h pngconf.h pnglibconf.h 116