* examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh:

* examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc:
Remove from CVS.  These files are automatically generated.
* examples/extexi: Clarify that this file is now part of Bison,
not GNU M4, and that it works with any POSIX-compatible Awk.
* examples/calc++/Makefile.am (run_extexi): Remove; not used.
($(calc_extracted)): Renamed from $(calc_sources_extracted),
so that we also get calc++-parser.yy.  Geneate it.
Use $(AWK), not gawk, since any conforming Awk will do.
Put comment before action, since older 'make' can't handle comment
in action.
$(BUILT_SOURCES): List all built sources, not just some of them.
$(MAINTAINERCLEANFILES): Remove *.stamp, and all built sources.
$($(srcdir)/calc++-parser.stamp): Work even if POSIXLY_CORRECT.
$($(calc_sources_generated)): Remove unnecessary test for existence
of target.  (This had a shell syntax error anyway; a stray "x".)
(calc_extracted): List $(srcdir)/calc++-parser.yy, not
calc++-parser.yy.
* examples/.cvsignore, examples/calc++/.cvsignore: New files.
This commit is contained in:
Paul Eggert
2005-07-07 23:16:46 +00:00
parent c3d5a4a783
commit b34d96c1c3
9 changed files with 47 additions and 163 deletions

View File

@@ -32,11 +32,11 @@ $(BISON): $(BISON_IN)
doc = $(top_srcdir)/doc/bison.texinfo
extexi = $(top_srcdir)/examples/extexi
run_extexi = gawk -f $(extexi)
$(calc_sources_extracted): $(doc) $(extexi)
# Extract in src.
$(calc_extracted): $(doc) $(extexi)
cd $(srcdir) && \
gawk -f ../extexi ../../doc/bison.texinfo -- \
$(AWK) -f ../extexi ../../doc/bison.texinfo -- \
calc++-parser.yy \
calc++-scanner.ll calc++.cc calc++-driver.hh calc++-driver.cc
@@ -44,9 +44,9 @@ $(calc_sources_extracted): $(doc) $(extexi)
## Parser generation. ##
## ------------------- ##
# We do not use Automake features here.
BUILT_SOURCES = $(calc_sources_generated)
MAINTAINERCLEANFILES = $(calc_sources_generated)
BUILT_SOURCES = $(calc_extracted) $(calc_sources_generated)
CLEANFILES = $(srcdir)/*.output *.tmp
MAINTAINERCLEANFILES = $(srcdir)/*.stamp $(BUILT_SOURCES)
# Compile the parser and save cycles.
# This code comes from "Handling Tools that Produce Many Outputs",
@@ -57,15 +57,13 @@ EXTRA_DIST = $(srcdir)/calc++-parser.stamp $(srcdir)/calc++-parser.yy
$(srcdir)/calc++-parser.stamp: $(srcdir)/calc++-parser.yy $(BISON_IN)
@rm -f calc++-parser.tmp
@touch calc++-parser.tmp
$(BISON) -S lalr1.cc $(srcdir)/calc++-parser.yy -o $(srcdir)/calc++-parser.cc -d -ra
$(BISON) -d -ra -S lalr1.cc -o $(srcdir)/calc++-parser.cc \
$(srcdir)/calc++-parser.yy
@mv -f calc++-parser.tmp $@
$(calc_sources_generated): $(srcdir)/calc++-parser.stamp
@if test -f $@; then :; else x\
rm -f $(srcdir)/calc++-parser.stamp; \
$(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp; \
fi
rm -f $(srcdir)/calc++-parser.stamp
$(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp
## --------------------------- ##
## Building & testing calc++. ##
@@ -74,8 +72,8 @@ $(calc_sources_generated): $(srcdir)/calc++-parser.stamp
noinst_PROGRAMS = calc++
calc_sources_extracted = $(srcdir)/calc++-scanner.ll $(srcdir)/calc++.cc \
$(srcdir)/calc++-driver.hh $(srcdir)/calc++-driver.cc
calc_extracted = $(calc_sources_extracted) calc++-parser.yy
$(srcdir)/calc++-driver.hh $(srcdir)/calc++-driver.cc
calc_extracted = $(calc_sources_extracted) $(srcdir)/calc++-parser.yy
calc_sources_generated = \
$(srcdir)/stack.hh $(srcdir)/position.hh $(srcdir)/location.hh \
$(srcdir)/calc++-parser.hh $(srcdir)/calc++-parser.cc