]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libpng/lib/dist/scripts/pnglibconf.mak
update
[l4.git] / l4 / pkg / libpng / lib / dist / scripts / pnglibconf.mak
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 'awk' and 'sed'
7
8 # Override as appropriate, these definitions can be overridden on
9 # the make command line (AWK='nawk' for example).
10 AWK = gawk
11 AWK = mawk
12 AWK = nawk
13 AWK = one-true-awk
14 AWK = awk  # Crashes on SunOS 5.10 - use 'nawk'
15 CPP = $(CC) -E # Does not work on SUN OS 5.10 - use /lib/cpp
16 SED = sed
17
18 COPY = cp
19 DELETE = rm -f
20 ECHO = echo
21 DFA_XTRA = # Put your configuration file here, see scripts/pnglibconf.dfa.  Eg:
22 # DFA_XTRA = pngusr.dfa
23
24 # CPPFLAGS should contain the options to control the result,
25 # but DEFS and CFLAGS are also supported here, override
26 # as appropriate
27 DFNFLAGS = $(DEFS) $(CPPFLAGS) $(CFLAGS)
28
29 # srcdir is a defacto standard for the location of the source
30 srcdir = .
31
32 # The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
33 # copy this if the following doesn't work.
34 pnglibconf.h: pnglibconf.dfn
35         $(DELETE) $@ dfn.c dfn1.out dfn2.out dfn3.out
36         $(ECHO) '#include "pnglibconf.dfn"' >dfn.c
37         $(CPP) $(DFNFLAGS) dfn.c >dfn1.out
38         $(ECHO) "If 'cpp -e' crashes try /lib/cpp (e.g. CPP='/lib/cpp')" >&2
39         $(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\
40             dfn1.out >dfn2.out
41         $(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out
42         $(COPY) dfn3.out $@
43         $(DELETE) dfn.c dfn1.out dfn2.out dfn3.out
44
45 pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk $(srcdir)/pngconf.h $(srcdir)/pngusr.dfa
46         $(DELETE) $@ dfn1.out dfn2.out
47         $(ECHO) "Calling $(AWK) from scripts/pnglibconf.mak" >&2
48         $(ECHO) "If 'awk' crashes try a better awk (e.g. AWK='nawk')" >&2
49         $(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out version=search\
50                 $(srcdir)/pngconf.h $(srcdir)/scripts/pnglibconf.dfa\
51                 $(srcdir)/pngusr.dfa $(DFA_XTRA) 1>&2
52         $(AWK) -f $(srcdir)/scripts/options.awk out=dfn2.out dfn1.out 1>&2
53         $(COPY) dfn2.out $@
54         $(DELETE) dfn1.out dfn2.out
55
56 clean-pnglibconf:
57         $(DELETE) pnglibconf.h pnglibconf.dfn dfn.c dfn1.out dfn2.out dfn3.out
58
59 clean: clean-pnglibconf