1 | # makefile for libpng |
---|
2 | # Copyright (C) 2002, 2006 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 | CC=cc |
---|
31 | AR_RC=ar rc |
---|
32 | MKDIR_P=mkdir |
---|
33 | LN_SF=ln -sf |
---|
34 | RANLIB=ranlib |
---|
35 | RM_F=rm -f |
---|
36 | AWK = awk |
---|
37 | SED = sed |
---|
38 | CPP = $(CC) -E |
---|
39 | ECHO = echo |
---|
40 | |
---|
41 | DFNFLAGS = # DFNFLAGS contains -D options to use in the libpng build |
---|
42 | CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 |
---|
43 | LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm |
---|
44 | |
---|
45 | OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ |
---|
46 | pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ |
---|
47 | pngwtran.o pngmem.o pngerror.o pngpread.o |
---|
48 | |
---|
49 | all: libpng.a pngtest |
---|
50 | |
---|
51 | # The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt, |
---|
52 | # copy this if the following doesn't work. |
---|
53 | pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h |
---|
54 | $(RM_F) $@ dfn?.out |
---|
55 | $(AWK) -f scripts/options.awk out=dfn1.out version=search pngconf.h\ |
---|
56 | scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2 |
---|
57 | $(AWK) -f scripts/options.awk out=dfn2.out dfn1.out 1>&2 |
---|
58 | cp dfn2.out $@ |
---|
59 | $(RM_F) dfn?.out |
---|
60 | |
---|
61 | pnglibconf.h: pnglibconf.dfn |
---|
62 | $(RM_F) $@ dfn.c dfn?.out |
---|
63 | $(ECHO) '#include "pnglibconf.dfn"' >dfn.c |
---|
64 | $(CPP) $(DFNFLAGS) dfn.c >dfn1.out |
---|
65 | $(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\ |
---|
66 | dfn1.out >dfn2.out |
---|
67 | $(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out |
---|
68 | cp dfn3.out $@ |
---|
69 | $(RM_F) dfn.c dfn?.out |
---|
70 | |
---|
71 | libpng.a: $(OBJS) |
---|
72 | $(AR_RC) $@ $(OBJS) |
---|
73 | $(RANLIB) $@ |
---|
74 | |
---|
75 | pngtest: pngtest.o libpng.a |
---|
76 | $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) |
---|
77 | |
---|
78 | test: pngtest |
---|
79 | ./pngtest |
---|
80 | |
---|
81 | install: libpng.a pnglibconf.h |
---|
82 | -@$(MKDIR_P) $(DESTDIR)$(INCPATH) |
---|
83 | -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng |
---|
84 | -@$(MKDIR_P) $(DESTDIR)$(LIBPATH) |
---|
85 | -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h |
---|
86 | -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h |
---|
87 | -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h |
---|
88 | cp png.h $(DESTDIR)$(INCPATH)/libpng |
---|
89 | cp pngconf.h $(DESTDIR)$(INCPATH)/libpng |
---|
90 | cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng |
---|
91 | chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h |
---|
92 | chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h |
---|
93 | chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h |
---|
94 | (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .) |
---|
95 | cp libpng.a $(DESTDIR)$(LIBPATH) |
---|
96 | chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a |
---|
97 | |
---|
98 | clean: |
---|
99 | $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.* dfn.c dfn?.out |
---|
100 | |
---|
101 | DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO |
---|
102 | writelock: |
---|
103 | chmod a-w *.[ch35] $(DOCS) scripts/* |
---|
104 | |
---|
105 | # DO NOT DELETE THIS LINE -- make depend depends on it. |
---|
106 | |
---|
107 | png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
108 | pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
109 | pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
110 | pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
111 | pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
112 | pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
113 | pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
114 | pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
115 | pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
116 | pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
117 | pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
118 | pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
119 | pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
120 | pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
121 | pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
---|
122 | |
---|
123 | pngtest.o: png.h pngconf.h pnglibconf.h |
---|