2 # Copyright (C) 2002, 2006, 2009, 2014 Glenn Randers-Pehrson
3 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
5 # This code is released under the libpng license.
6 # For conditions of distribution and use, see the disclaimer
9 # This makefile requires the file ansi2knr.c, which you can get
10 # from the Ghostscript ftp site at ftp://ftp.cs.wisc.edu/ghost/
11 # If you have libjpeg, you probably already have ansi2knr.c in the jpeg
12 # source distribution.
14 # where make install puts libpng.a and png.h
16 INCPATH=$(prefix)/include
19 # override DESTDIR= on the make install command line to easily support
20 # installing into a temporary location. Example:
22 # make install DESTDIR=/tmp/build/libpng
24 # If you're going to install into a temporary location
25 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before
26 # you execute make install.
32 LDFLAGS = -L. -L../zlib/ -lpng -lz -lm
39 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
40 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
41 pngwtran.o pngmem.o pngerror.o pngpread.o
43 all: ansi2knr libpng.a pngtest
45 # see scripts/pnglibconf.mak for more options
46 pnglibconf.h: scripts/pnglibconf.h.prebuilt
47 cp scripts/pnglibconf.h.prebuilt $@
49 # general rule to allow ansi2knr to work
52 $(CC) $(CPPFLAGS) $(CFLAGS) -c T$*.c
57 $(CC) $(CPPFLAGS) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
59 libpng.a: ansi2knr $(OBJS)
63 pngtest: pngtest.o libpng.a
64 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
69 install: libpng.a png.h pngconf.h pnglibconf.h
70 -@mkdir $(DESTDIR)$(INCPATH)
71 -@mkdir $(DESTDIR)$(INCPATH)/libpng
72 -@mkdir $(DESTDIR)$(LIBPATH)
73 -@rm -f $(DESTDIR)$(INCPATH)/png.h
74 -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
75 cp png.h $(DESTDIR)$(INCPATH)/libpng
76 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
77 cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
78 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
79 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
80 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
81 (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
82 cp libpng.a $(DESTDIR)$(LIBPATH)
83 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
86 rm -f *.o libpng.a pngtest pngout.png ansi2knr pnglibconf.h
88 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
90 chmod a-w *.[ch35] $(DOCS) scripts/*
92 # DO NOT DELETE THIS LINE -- make depend depends on it.
94 png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
95 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
96 pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
97 pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
98 pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
99 pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
100 pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
101 pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
102 pngpread.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
110 pngtest.o: png.h pngconf.h pnglibconf.h