1 # Makefile for PngMinus (pnm2pngm)
17 CFLAGS
=-DPNG_USER_CONFIG
-DNO_GZIP
-I.
-O1
24 # Where to find the source code:
26 ZLIBSRC
=$(PNGSRC
)/..
/zlib
27 PROGSRC
=$(PNGSRC
)/contrib
/pngminus
30 ZSRCS
= adler32
$(C
) compress
$(C
) crc32
$(C
) deflate
$(C
) \
34 #ZH = zlib.h crc32.h deflate.h trees.h zutil.h
35 ZH
= zlib.h crc32.h deflate.h trees.h zutil.h
37 # Machine generated headers
41 ZINC
= zlib.h
$(ZCONF
)
43 # Headers the Zlib source uses
44 ZHDRS
= $(ZH
) $(ZCONF
)
46 # compress is not required; it is needed to link the zlib
47 # code because deflate defines an unused API function deflateBound
48 # which itself calls compressBound from compress.
49 ZOBJS
= adler32
$(O
) compress
$(O
) crc32
$(O
) deflate
$(O
) \
53 PNGSRCS
=png
$(C
) pngerror
$(C
) pngget
$(C
) pngmem
$(C
) \
54 pngset
$(C
) pngtrans
$(C
) pngwio
$(C
) pngwrite
$(C
) \
55 pngwtran
$(C
) pngwutil
$(C
)
58 PNGH
=png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h pngstruct.h
60 # Machine generated headers
64 PNGINC
= png.h pngconf.h pngusr.h
$(PNGCONF
)
66 # Headers the PNG library uses
67 PNGHDRS
=$(PNGH
) $(PNGCONF
) pngusr.h
69 PNGOBJS
=png
$(O
) pngerror
$(O
) pngget
$(O
) pngmem
$(O
) \
70 pngset
$(O
) pngtrans
$(O
) pngwio
$(O
) pngwrite
$(O
) \
71 pngwtran
$(O
) pngwutil
$(O
)
73 PROGSRCS
= pnm2pngm
$(C
)
76 PROGOBJS
= pnm2pngm
$(O
)
78 OBJS
= $(PROGOBJS
) $(PNGOBJS
) $(ZOBJS
)
80 # implicit make rules -------------------------------------------------------
90 $(LD
) -o pnm2pngm
$(E
) $(OBJS
)
92 # The DFA_XTRA setting turns all libpng options off then
93 # turns on those required for this minimal build.
94 # The CPP_FLAGS setting causes pngusr.h to be included in
95 # both the build of pnglibconf.h and, subsequently, when
96 # building libpng itself.
97 $(PNGCONF
): $(PNGSRC
)/scripts
/pnglibconf.mak\
98 $(PNGSRC
)/scripts
/pnglibconf.dfa \
99 $(PNGSRC
)/scripts
/options.awk pngusr.h pngusr.dfa
100 $(RM
) pnglibconf.h pnglibconf.dfn
101 $(MAKE
) $(MAKEFLAGS
) -f
$(PNGSRC
)/scripts
/pnglibconf.mak\
102 srcdir=$(PNGSRC
) CPPFLAGS
="-DPNG_USER_CONFIG"\
103 DFA_XTRA
="pngusr.dfa" $@
106 $(MAKE
) $(MAKEFLAGS
) -f
$(PNGSRC
)/scripts
/pnglibconf.mak\
107 srcdir=$(PNGSRC
) clean
112 # distclean also removes the copied source and headers
114 $(RM
) -r scripts
# historical reasons
115 $(RM
) $(PNGSRCS
) $(PNGH
)
116 $(RM
) $(ZSRCS
) $(ZH
) $(ZCONF
)
117 $(RM
) $(PROGSRCS
) $(PROGHDRS
) $(PROGDOCS
)
119 # Header file dependencies:
120 $(PROGOBJS
): $(PROGHDRS
) $(PNGINC
) $(ZINC
)
121 $(PNGOBJS
): $(PNGHDRS
) $(ZINC
)
124 # Gather the source code from the respective directories
125 $(PNGSRCS
) $(PNGH
): $(PNGSRC
)/$@
127 $(COPY
) $(PNGSRC
)/$@
$@
129 # No dependency on the ZLIBSRC target so that it only needs
130 # to be specified once.
133 $(COPY
) $(ZLIBSRC
)/$@
$@
135 # The unconfigured zconf.h varies in name according to the
139 @for f in zconf.h.in zconf.in.h zconf.h
; do\
140 test -r
$(ZLIBSRC
)/$$f &&\
141 echo
$(COPY
) $(ZLIBSRC
)/$$f $@
&&\
142 $(COPY
) $(ZLIBSRC
)/$$f $@
&& exit
0;\
143 done
; echo copy
: $(ZLIBSRC
)/zconf.h not found
; exit
1
145 pnm2pngm.c
: $(PROGSRC
)/pnm2png.c
147 $(COPY
) $(PROGSRC
)/pnm2png.c
$@
149 # End of makefile for pnm2pngm