#!/usr/bin/make -f # pnglibconf.mak - standard make lines for pnglibconf.h # # These lines are copied from Makefile.am, they illustrate # how to automate the build of pnglibconf.h from scripts/pnglibconf.dfa # given 'awk' and 'sed' # Override as appropriate: AWK = awk SED = sed CPP = $(CC) -E COPY = cp DELETE = rm -f ECHO = echo # CPPFLAGS should contain the options to control the result, # but DEFS and CFLAGS are also supported here, override # as appropriate DFNFLAGS = $(DEFS) $(CPPFLAGS) $(CFLAGS) # The standard pnglibconf.h exists as scripts/pnglibconf.h, # copy this if the following doesn't work. pnglibconf.h: pnglibconf.dfn $(DELETE) $@ dfn.c dfn1.out dfn2.out dfn3.out $(ECHO) '#include "pnglibconf.dfn"' >dfn.c $(CPP) $(DFNFLAGS) dfn.c >dfn1.out $(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\ dfn1.out >dfn2.out $(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out $(COPY) dfn3.out $@ $(DELETE) dfn.c dfn1.out dfn2.out dfn3.out pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk $(DELETE) $@ dfn1.out dfn2.out $(AWK) -f scripts/options.awk pre=1 out=dfn1.out\ scripts/pnglibconf.dfa 1>&2 $(AWK) -f scripts/options.awk pre=0 out=dfn2.out dfn1.out 1>&2 $(COPY) dfn2.out $@ $(DELETE) dfn1.out dfn2.out clean-pnglibconf: $(DELETE) pnglibconf.h pnglibconf.dfn dfn.c dfn1.out dfn2.out dfn3.out clean: clean-pnglibconf