7209215171076187c6736aec96b178c2a3e32dd5
[nit.git] / share / png / scripts / makefile.knr
1 # makefile for libpng
2 # Copyright (C) 2002, 2006, 2009, 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 # 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.
13
14 # where make install puts libpng.a and png.h
15 prefix=/usr/local
16 INCPATH=$(prefix)/include
17 LIBPATH=$(prefix)/lib
18
19 # override DESTDIR= on the make install command line to easily support
20 # installing into a temporary location.  Example:
21 #
22 #    make install DESTDIR=/tmp/build/libpng
23 #
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.
27 DESTDIR=
28
29 CC = cc
30 CPPFLAGS = -I../zlib
31 CFLAGS = -O
32 LDFLAGS = -L. -L../zlib/ -lpng -lz -lm
33 # flags for ansi2knr
34 ANSI2KNRFLAGS=
35
36 RANLIB = ranlib
37 #RANLIB = echo
38
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
42
43 all: ansi2knr libpng.a pngtest
44
45 # see scripts/pnglibconf.mak for more options
46 pnglibconf.h: scripts/pnglibconf.h.prebuilt
47         cp scripts/pnglibconf.h.prebuilt $@
48
49 # general rule to allow ansi2knr to work
50 .c.o:
51         ./ansi2knr $*.c T$*.c
52         $(CC) $(CPPFLAGS) $(CFLAGS) -c T$*.c
53         rm -f T$*.c $*.o
54         mv T$*.o $*.o
55
56 ansi2knr: ansi2knr.c
57         $(CC) $(CPPFLAGS) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
58
59 libpng.a: ansi2knr $(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 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
84
85 clean:
86         rm -f *.o libpng.a pngtest pngout.png ansi2knr pnglibconf.h
87
88 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
89 writelock:
90         chmod a-w *.[ch35] $(DOCS) scripts/*
91
92 # DO NOT DELETE THIS LINE -- make depend depends on it.
93
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
109
110 pngtest.o: png.h pngconf.h pnglibconf.h