mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
package: don't ship the sources generated from the parser
Because some of our examples use
%C%_reccalc_SOURCES = %D%/parse.y
Automake ships parse.y and parse.c, and possibly parse.h when it
"understands" that there is one. This is not what we want: ship only
parser.y. Yet we still want to use Automake to compile the sources
from parser.y. The easiest seems to use
nodist_%C%_reccalc_SOURCES = %D%/parse.y
together with
dist_reccalc_DATA = %D%/parse.y %D%/scan.l %D%/Makefile %D%/README.md
which guarantees that parse.y is indeed shipped.
* examples/c/calc/local.mk, examples/c/lexcalc/local.mk,
* examples/c/reccalc/local.mk: Always use nodist_*SOURCES for parsers,
let the dist_*_DATA rules do their job.
This commit is contained in:
@@ -22,12 +22,12 @@ calcdir = $(docdir)/%D%
|
|||||||
check_PROGRAMS += %D%/calc
|
check_PROGRAMS += %D%/calc
|
||||||
TESTS += %D%/calc.test
|
TESTS += %D%/calc.test
|
||||||
EXTRA_DIST += %D%/calc.test
|
EXTRA_DIST += %D%/calc.test
|
||||||
%C%_calc_SOURCES = %D%/calc.y
|
nodist_%C%_calc_SOURCES = %D%/calc.y
|
||||||
%D%/calc.c: $(dependencies)
|
%D%/calc.c: $(dependencies)
|
||||||
|
|
||||||
# Don't use gnulib's system headers.
|
# Don't use gnulib's system headers.
|
||||||
%C%_calc_CPPFLAGS = -I$(top_srcdir)/%D% -I$(top_builddir)/%D%
|
%C%_calc_CPPFLAGS = -I$(top_srcdir)/%D% -I$(top_builddir)/%D%
|
||||||
|
|
||||||
dist_calc_DATA = %D%/calc.y %D%/Makefile %D%/README.md
|
dist_calc_DATA = %D%/calc.y %D%/Makefile %D%/README.md
|
||||||
CLEANFILES += %D%/calc %D%/*.o %D%/parse.c %D%/scan.c
|
CLEANFILES += %D%/calc %D%/*.o %D%/scan.c
|
||||||
CLEANDIRS += %D%/*.dSYM
|
CLEANDIRS += %D%/*.dSYM
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ lexcalcdir = $(docdir)/%D%
|
|||||||
check_PROGRAMS += %D%/lexcalc
|
check_PROGRAMS += %D%/lexcalc
|
||||||
TESTS += %D%/lexcalc.test
|
TESTS += %D%/lexcalc.test
|
||||||
EXTRA_DIST += %D%/lexcalc.test
|
EXTRA_DIST += %D%/lexcalc.test
|
||||||
%C%_lexcalc_SOURCES = %D%/parse.y %D%/parse.h %D%/scan.l
|
nodist_%C%_lexcalc_SOURCES = %D%/parse.y %D%/parse.h %D%/scan.l
|
||||||
%D%/parse.c: $(dependencies)
|
%D%/parse.c: $(dependencies)
|
||||||
|
|
||||||
# Don't use gnulib's system headers.
|
# Don't use gnulib's system headers.
|
||||||
%C%_lexcalc_CPPFLAGS = -I$(top_srcdir)/%D% -I$(top_builddir)/%D%
|
%C%_lexcalc_CPPFLAGS = -I$(top_srcdir)/%D% -I$(top_builddir)/%D%
|
||||||
|
|
||||||
dist_lexcalc_DATA = %D%/parse.y %D%/scan.l %D%/Makefile %D%/README.md
|
dist_lexcalc_DATA = %D%/parse.y %D%/scan.l %D%/Makefile %D%/README.md
|
||||||
CLEANFILES += %D%/lexcalc %D%/*.o %D%/parse.c %D%/scan.c
|
CLEANFILES += %D%/lexcalc %D%/parse.c %D%/scan.c
|
||||||
CLEANDIRS += %D%/*.dSYM
|
CLEANDIRS += %D%/*.dSYM
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ reccalcdir = $(docdir)/%D%
|
|||||||
check_PROGRAMS += %D%/reccalc
|
check_PROGRAMS += %D%/reccalc
|
||||||
TESTS += %D%/reccalc.test
|
TESTS += %D%/reccalc.test
|
||||||
EXTRA_DIST += %D%/reccalc.test %D%/scan.l
|
EXTRA_DIST += %D%/reccalc.test %D%/scan.l
|
||||||
%C%_reccalc_SOURCES = %D%/parse.y %D%/parse.h
|
nodist_%C%_reccalc_SOURCES = %D%/parse.y %D%/scan.h %D%/scan.c
|
||||||
nodist_%C%_reccalc_SOURCES = %D%/scan.h %D%/scan.c
|
|
||||||
BUILT_SOURCES += $(nodist_%C%_reccalc_SOURCES)
|
BUILT_SOURCES += $(nodist_%C%_reccalc_SOURCES)
|
||||||
%D%/parse.c: $(dependencies)
|
%D%/parse.c: $(dependencies)
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,24 @@
|
|||||||
## You should have received a copy of the GNU General Public License
|
## You should have received a copy of the GNU General Public License
|
||||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
|
## Because some of our examples use
|
||||||
|
##
|
||||||
|
## %C%_reccalc_SOURCES = %D%/parse.y
|
||||||
|
##
|
||||||
|
## Automake ships parse.y and parse.c, and possibly parse.h when it
|
||||||
|
## "understands" that there is one. This is not what we want: ship only
|
||||||
|
## parser.y. Yet we still want to use Automake to compile the sources
|
||||||
|
## from parser.y. The easiest seems to use
|
||||||
|
##
|
||||||
|
## nodist_%C%_reccalc_SOURCES = %D%/parse.y
|
||||||
|
##
|
||||||
|
## together with
|
||||||
|
##
|
||||||
|
## dist_reccalc_DATA = %D%/parse.y %D%/scan.l %D%/Makefile %D%/README.md
|
||||||
|
##
|
||||||
|
## which guarantees that parse.y is indeed shipped.
|
||||||
|
|
||||||
dist_noinst_SCRIPTS = %D%/extexi %D%/test
|
dist_noinst_SCRIPTS = %D%/extexi %D%/test
|
||||||
TEST_LOG_COMPILER = $(top_srcdir)/%D%/test
|
TEST_LOG_COMPILER = $(top_srcdir)/%D%/test
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user