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
|
||||
TESTS += %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)
|
||||
|
||||
# Don't use gnulib's system headers.
|
||||
%C%_calc_CPPFLAGS = -I$(top_srcdir)/%D% -I$(top_builddir)/%D%
|
||||
|
||||
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
|
||||
|
||||
@@ -22,12 +22,12 @@ lexcalcdir = $(docdir)/%D%
|
||||
check_PROGRAMS += %D%/lexcalc
|
||||
TESTS += %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)
|
||||
|
||||
# Don't use gnulib's system headers.
|
||||
%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
|
||||
CLEANFILES += %D%/lexcalc %D%/*.o %D%/parse.c %D%/scan.c
|
||||
CLEANFILES += %D%/lexcalc %D%/parse.c %D%/scan.c
|
||||
CLEANDIRS += %D%/*.dSYM
|
||||
|
||||
@@ -22,8 +22,7 @@ reccalcdir = $(docdir)/%D%
|
||||
check_PROGRAMS += %D%/reccalc
|
||||
TESTS += %D%/reccalc.test
|
||||
EXTRA_DIST += %D%/reccalc.test %D%/scan.l
|
||||
%C%_reccalc_SOURCES = %D%/parse.y %D%/parse.h
|
||||
nodist_%C%_reccalc_SOURCES = %D%/scan.h %D%/scan.c
|
||||
nodist_%C%_reccalc_SOURCES = %D%/parse.y %D%/scan.h %D%/scan.c
|
||||
BUILT_SOURCES += $(nodist_%C%_reccalc_SOURCES)
|
||||
%D%/parse.c: $(dependencies)
|
||||
|
||||
|
||||
@@ -14,6 +14,24 @@
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## 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
|
||||
TEST_LOG_COMPILER = $(top_srcdir)/%D%/test
|
||||
|
||||
|
||||
Reference in New Issue
Block a user