mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
calc++: don't rely on Automake to compile a C++ parser.
Basically, revert commit 609b3d8096,
Automake 1.11.3 is not safe enough for C++ parser.
* examples/calc++/calc++-parser.hh: Remove.
* examples/calc++/local.mk (examples/calc++/calc++-parser.stamp):
New.
examples: factor the extractions into a single step
extexi had to be run in the extraction directory. Now, it can be
given the files with expected output directory. This allows to
use $(*_extracted) variables (before we had to list again their
members, but limited to their base names). In turn, this also
allows fusing the extraction recipes into a single one.
Also, it is currently too hard (or requires too much duplication,
since Make wants all the occurrences of the files to be prefixed with
$(srcdir)/, which is something Automake cannot support for *_SOURCES)
to work in the source tree. So extract, and compile scanners and parsers
in the build tree.
* examples/extexi (basename): New.
(BEGIN): Now "file_wanted" maps base name to extracted file name.
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/rpcalc/local.mk: Fuse extraction rules into...
* examples/local.mk: Here.
(extract, extracted): New.
41 lines
1.4 KiB
Makefile
41 lines
1.4 KiB
Makefile
## Copyright (C) 2005, 2008-2012 Free Software Foundation, Inc.
|
|
|
|
## This program is free software: you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation, either version 3 of the License, or
|
|
## (at your option) any later version.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
dist_noinst_SCRIPTS = examples/extexi examples/test
|
|
TEST_LOG_COMPILER = $(top_srcdir)/examples/test
|
|
|
|
## ------------ ##
|
|
## Extracting. ##
|
|
## ------------ ##
|
|
|
|
doc = $(top_srcdir)/doc/bison.texinfo
|
|
extexi = $(top_srcdir)/examples/extexi
|
|
extract = $(AWK) -f $(extexi) -v VERSION="$(VERSION)" $(doc) --
|
|
extracted =
|
|
MAINTAINERCLEANFILES += $(extracted)
|
|
examples/extracted.stamp: $(doc) $(extexi)
|
|
$(AM_V_GEN)rm -f $@ $@.tmp
|
|
$(AM_V_at)touch $@.tmp
|
|
$(AM_V_at)$(extract) $(extracted)
|
|
$(AM_V_at)mv $@.tmp $@
|
|
|
|
$(extracted): examples/extracted.stamp
|
|
@test -f $@ || rm -f examples/extracted.stamp
|
|
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/extracted.stamp
|
|
|
|
include examples/calc++/local.mk
|
|
include examples/mfcalc/local.mk
|
|
include examples/rpcalc/local.mk
|