1#!/usr/bin/make -f 2# pnglibconf.mak - standard make lines for pnglibconf.h 3# 4# These lines are copied from Makefile.am, they illustrate 5# how to automate the build of pnglibconf.h from scripts/pnglibconf.dfa 6# given just 'awk', a C preprocessor and standard command line utilities 7 8# Override as appropriate, these definitions can be overridden on 9# the make command line (AWK='nawk' for example). 10AWK = gawk 11AWK = mawk 12AWK = nawk 13AWK = one-true-awk 14AWK = awk # This fails on SunOS 5.10; use 'nawk' 15CPP = $(CC) -E # If this fails on SunOS 5.10, use '/lib/cpp' 16 17MOVE = mv -f 18DELETE = rm -f 19 20DFA_XTRA = # Put your configuration file here, see scripts/pnglibconf.dfa. Eg: 21# DFA_XTRA = pngusr.dfa 22 23# CPPFLAGS should contain the options to control the result, 24# but DEFS and CFLAGS are also supported here, override 25# as appropriate 26DFNFLAGS = $(DEFS) $(CPPFLAGS) $(CFLAGS) 27 28# srcdir is a de-facto standard for the location of the source 29srcdir = . 30 31# The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt, 32# copy this if the following doesn't work. 33pnglibconf.h: pnglibconf.dfn 34 $(DELETE) $@ pnglibconf.c pnglibconf.out pnglibconf.tmp 35 echo '#include "pnglibconf.dfn"' >pnglibconf.c 36 @echo "## If '$(CC) -E' fails, try /lib/cpp (e.g. CPP='/lib/cpp')" >&2 37 $(CPP) $(DFNFLAGS) pnglibconf.c >pnglibconf.out 38 $(AWK) -f $(srcdir)/scripts/dfn.awk out=pnglibconf.tmp pnglibconf.out >&2 39 $(MOVE) pnglibconf.tmp $@ 40 41pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk $(srcdir)/pngconf.h $(srcdir)/pngusr.dfa $(DFA_XTRA) 42 $(DELETE) $@ pnglibconf.pre pnglibconf.tmp 43 @echo "## Calling $(AWK) from scripts/pnglibconf.mak" >&2 44 @echo "## If 'awk' fails, try a better awk (e.g. AWK='nawk')" >&2 45 $(AWK) -f $(srcdir)/scripts/options.awk out=pnglibconf.pre\ 46 version=search $(srcdir)/pngconf.h $(srcdir)/scripts/pnglibconf.dfa\ 47 $(srcdir)/pngusr.dfa $(DFA_XTRA) >&2 48 $(AWK) -f $(srcdir)/scripts/options.awk out=pnglibconf.tmp pnglibconf.pre >&2 49 $(MOVE) pnglibconf.tmp $@ 50 51clean-pnglibconf: 52 $(DELETE) pnglibconf.h pnglibconf.c pnglibconf.out pnglibconf.pre \ 53 pnglibconf.dfn 54 55clean: clean-pnglibconf 56