## Parser generation. ##
## ------------------- ##
-CLEANFILES += $(top_srcdir)/examples/calc++/*.output *.tmp
-MAINTAINERCLEANFILES += examples/calc++/*.stamp $(calc_sources)
+CLEANFILES += examples/calc++/calc++-parser.output *.tmp
-# Compile the parser and save cycles.
-# This code comes from "Handling Tools that Produce Many Outputs",
-# from the Automake documentation.
-EXTRA_DIST += \
- examples/calc++/calc++-parser.stamp \
- examples/calc++/calc++-parser.yy \
- examples/calc++/calc++.stamp
# Don't depend on $(BISON) otherwise we would rebuild these files
# in srcdir, including during distcheck, which is forbidden.
-examples/calc++/calc++-parser.stamp: examples/calc++/calc++-parser.yy $(BISON_IN)
+examples/calc++/calc++-parser.stamp: $(BISON_IN)
+SUFFIXES += .yy .stamp
+.yy.stamp:
$(AM_V_YACC)rm -f $@
$(AM_V_at)touch $@.tmp
- $(AM_V_at)$(YACCCOMPILE) -o examples/calc++/calc++-parser.cc \
- examples/calc++/calc++-parser.yy
+ $(AM_V_at)$(YACCCOMPILE) -o $*.cc $<
$(AM_V_at)mv -f $@.tmp $@
$(calc_sources_generated): examples/calc++/calc++-parser.stamp
# Avoid using BUILT_SOURCES which is too global.
$(examples_calc___calc___OBJECTS): $(calc_sources_generated)
-CLEANFILES += *.tmp
-MAINTAINERCLEANFILES += $(calc_sources)
calc_sources_extracted = \
examples/calc++/calc++-driver.cc \
calc_sources = \
$(calc_sources_extracted) \
$(calc_sources_generated)
+
if BISON_CXX_WORKS
check_PROGRAMS += examples/calc++/calc++
-examples_calc___calc___SOURCES = \
+nodist_examples_calc___calc___SOURCES = \
$(calc_sources)
-examples_calc___calc___CPPFLAGS = \
- -I$(top_builddir)/examples/calc++ \
- -I$(top_srcdir)/examples/calc++
-TESTS += examples/calc++/calc++.test
+examples_calc___calc___CPPFLAGS = -I$(top_builddir)/examples/calc++
+dist_TESTS += examples/calc++/calc++.test
endif
-EXTRA_DIST += \
- examples/calc++/calc++-parser.yy \
- examples/calc++/calc++.test
## -------------------- ##
BUILT_SOURCES += $(mfcalc_sources)
-MAINTAINERCLEANFILES += $(mfcalc_sources)
mfcalc_extracted = \
examples/mfcalc/calc.h \
check_PROGRAMS += examples/mfcalc/mfcalc
examples_mfcalc_mfcalc_LDADD = -lm
-examples_mfcalc_mfcalc_SOURCES = \
+nodist_examples_mfcalc_mfcalc_SOURCES = \
$(mfcalc_sources)
-examples_mfcalc_mfcalc_CPPFLAGS = -I$(top_srcdir)/examples/mfcalc
-TESTS += examples/mfcalc/mfcalc.test
-EXTRA_DIST += examples/mfcalc/mfcalc.test
+examples_mfcalc_mfcalc_CPPFLAGS = -I$(top_builddir)/examples/mfcalc
+dist_TESTS += examples/mfcalc/mfcalc.test
## -------------------- ##
BUILT_SOURCES += $(rpcalc_sources)
-MAINTAINERCLEANFILES += $(rpcalc_sources)
rpcalc_extracted = \
examples/rpcalc/rpcalc.y
check_PROGRAMS += examples/rpcalc/rpcalc
examples_rpcalc_rpcalc_LDADD = -lm
-examples_rpcalc_rpcalc_SOURCES = \
+nodist_examples_rpcalc_rpcalc_SOURCES = \
$(rpcalc_sources)
-examples_rpcalc_rpcalc_CPPFLAGS = -I$(top_srcdir)/examples/rpcalc
-TESTS += examples/rpcalc/rpcalc.test
-EXTRA_DIST += examples/rpcalc/rpcalc.test
+examples_rpcalc_rpcalc_CPPFLAGS = -I$(top_builddir)/examples/rpcalc
+dist_TESTS += examples/rpcalc/rpcalc.test