mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
build: prefer %D% and %C% to hard coded values
* doc/local.mk: here.
This commit is contained in:
86
doc/local.mk
86
doc/local.mk
@@ -20,36 +20,36 @@ AM_MAKEINFOFLAGS = \
|
||||
--set-customization-variable=AVOID_MENU_REDUNDANCY=true \
|
||||
--set-customization-variable=ICONS=true
|
||||
|
||||
info_TEXINFOS = doc/bison.texi
|
||||
doc_bison_TEXINFOS = \
|
||||
info_TEXINFOS = %D%/bison.texi
|
||||
%C%_bison_TEXINFOS = \
|
||||
$(CROSS_OPTIONS_TEXI) \
|
||||
doc/fdl.texi \
|
||||
doc/gpl-3.0.texi \
|
||||
doc/relocatable.texi
|
||||
%D%/fdl.texi \
|
||||
%D%/gpl-3.0.texi \
|
||||
%D%/relocatable.texi
|
||||
|
||||
# Cannot express dependencies directly on file names because of Automake.
|
||||
# Obfuscate with a variable.
|
||||
doc_bison = doc/bison
|
||||
$(doc_bison).dvi: $(FIGS_GV:.gv=.eps)
|
||||
$(doc_bison).info: $(FIGS_GV:.gv=.txt)
|
||||
$(doc_bison).pdf: $(FIGS_GV:.gv=.pdf)
|
||||
$(doc_bison).html: $(FIGS_GV:.gv=.svg)
|
||||
%C%_bison = %D%/bison
|
||||
$(%C%_bison).dvi: $(FIGS_GV:.gv=.eps)
|
||||
$(%C%_bison).info: $(FIGS_GV:.gv=.txt)
|
||||
$(%C%_bison).pdf: $(FIGS_GV:.gv=.pdf)
|
||||
$(%C%_bison).html: $(FIGS_GV:.gv=.svg)
|
||||
|
||||
TEXI2DVI = texi2dvi --build-dir=doc/bison.t2d -I doc
|
||||
CLEANDIRS += doc/bison.t2d
|
||||
TEXI2DVI = texi2dvi --build-dir=%D%/bison.t2d -I %D%
|
||||
CLEANDIRS += %D%/bison.t2d
|
||||
|
||||
MOSTLYCLEANFILES += $(top_srcdir)/doc/*.tmp
|
||||
MOSTLYCLEANFILES += $(top_srcdir)/%D%/*.tmp
|
||||
|
||||
CROSS_OPTIONS_PL = $(top_srcdir)/build-aux/cross-options.pl
|
||||
CROSS_OPTIONS_TEXI = $(top_srcdir)/doc/cross-options.texi
|
||||
$(CROSS_OPTIONS_TEXI): doc/bison.help $(CROSS_OPTIONS_PL)
|
||||
CROSS_OPTIONS_TEXI = $(top_srcdir)/%D%/cross-options.texi
|
||||
$(CROSS_OPTIONS_TEXI): %D%/bison.help $(CROSS_OPTIONS_PL)
|
||||
# Create $@~ which is the previous contents. Don't use 'mv' here so
|
||||
# that even if we are interrupted, the file is still available for
|
||||
# diff in the next run. Note that $@ might not exist yet.
|
||||
$(AM_V_GEN){ test ! -f $@ || cat $@; } >$@~
|
||||
$(AM_V_at)test ! -f $@.tmp || rm -f $@.tmp
|
||||
$(AM_V_at)$(PERL) $(CROSS_OPTIONS_PL) $(top_srcdir)/src/scan-gram.l \
|
||||
<$(top_srcdir)/doc/bison.help >$@.tmp
|
||||
<$(top_srcdir)/%D%/bison.help >$@.tmp
|
||||
$(AM_V_at)diff -u $@~ $@.tmp || true
|
||||
$(AM_V_at)mv $@.tmp $@
|
||||
MAINTAINERCLEANFILES = $(CROSS_OPTIONS_TEXI)
|
||||
@@ -57,34 +57,34 @@ MAINTAINERCLEANFILES = $(CROSS_OPTIONS_TEXI)
|
||||
|
||||
# Fix Info's @code in @deftype
|
||||
# https://lists.gnu.org/archive/html/help-texinfo/2019-11/msg00004.html
|
||||
all: $(srcdir)/$(doc_bison).info.bak
|
||||
$(srcdir)/$(doc_bison).info.bak: $(srcdir)/$(doc_bison).info
|
||||
all: $(srcdir)/$(%C%_bison).info.bak
|
||||
$(srcdir)/$(%C%_bison).info.bak: $(srcdir)/$(%C%_bison).info
|
||||
$(AM_V_GEN) $(PERL) -pi.bak -0777 \
|
||||
-e 's{(^ --.*\n(?: {10}.*\n)*)}' \
|
||||
-e '{' \
|
||||
-e ' $$def = $$1;' \
|
||||
-e ' $$def =~ s/‘|’//g;' \
|
||||
-e ' $$def;' \
|
||||
-e '}gem;' $(srcdir)/$(doc_bison).info
|
||||
-e '}gem;' $(srcdir)/$(%C%_bison).info
|
||||
@ touch $@
|
||||
EXTRA_DIST += $(srcdir)/$(doc_bison).info.bak
|
||||
MAINTAINERCLEANFILES += $(srcdir)/$(doc_bison).info.bak
|
||||
EXTRA_DIST += $(srcdir)/$(%C%_bison).info.bak
|
||||
MAINTAINERCLEANFILES += $(srcdir)/$(%C%_bison).info.bak
|
||||
|
||||
|
||||
## ---------- ##
|
||||
## Ref card. ##
|
||||
## ---------- ##
|
||||
|
||||
EXTRA_DIST += doc/refcard.tex
|
||||
CLEANFILES += doc/refcard.pdf
|
||||
EXTRA_DIST += %D%/refcard.tex
|
||||
CLEANFILES += %D%/refcard.pdf
|
||||
|
||||
doc/refcard.pdf: doc/refcard.tex
|
||||
$(AM_V_GEN) cd doc && pdftex $(abs_top_srcdir)/doc/refcard.tex
|
||||
%D%/refcard.pdf: %D%/refcard.tex
|
||||
$(AM_V_GEN) cd %D% && pdftex $(abs_top_srcdir)/%D%/refcard.tex
|
||||
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## doc/bison.help. ##
|
||||
## %D%/bison.help. ##
|
||||
## ---------------- ##
|
||||
|
||||
# Some of our targets (cross-options.texi, bison.1) use "bison --help".
|
||||
@@ -106,10 +106,10 @@ doc/refcard.pdf: doc/refcard.tex
|
||||
# compilations of cross-options.texi and bison.1. At the cost of
|
||||
# repeated builds of bison.help.
|
||||
|
||||
EXTRA_DIST += $(top_srcdir)/doc/bison.help
|
||||
EXTRA_DIST += $(top_srcdir)/%D%/bison.help
|
||||
if ! CROSS_COMPILING
|
||||
MAINTAINERCLEANFILES += $(top_srcdir)/doc/bison.help
|
||||
$(top_srcdir)/doc/bison.help: src/bison$(EXEEXT)
|
||||
MAINTAINERCLEANFILES += $(top_srcdir)/%D%/bison.help
|
||||
$(top_srcdir)/%D%/bison.help: src/bison$(EXEEXT)
|
||||
$(AM_V_GEN)$(MKDIR_P) %D%
|
||||
$(AM_V_at) LC_ALL=C tests/bison --version >%D%/bison.help.tmp
|
||||
$(AM_V_at) LC_ALL=C tests/bison --help | \
|
||||
@@ -126,7 +126,7 @@ endif ! CROSS_COMPILING
|
||||
## Man Pages. ##
|
||||
## ----------- ##
|
||||
|
||||
dist_man_MANS = $(top_srcdir)/doc/bison.1
|
||||
dist_man_MANS = $(top_srcdir)/%D%/bison.1
|
||||
|
||||
EXTRA_DIST += $(dist_man_MANS:.1=.x)
|
||||
MAINTAINERCLEANFILES += $(dist_man_MANS)
|
||||
@@ -137,12 +137,12 @@ remove_time_stamp = \
|
||||
|
||||
# Depend on configure to get version number changes.
|
||||
if ! CROSS_COMPILING
|
||||
MAN_DEPS = doc/bison.help doc/bison.x $(top_srcdir)/configure
|
||||
MAN_DEPS = %D%/bison.help %D%/bison.x $(top_srcdir)/configure
|
||||
endif
|
||||
|
||||
$(top_srcdir)/doc/bison.1: $(MAN_DEPS)
|
||||
$(top_srcdir)/%D%/bison.1: $(MAN_DEPS)
|
||||
$(AM_V_GEN)$(HELP2MAN) \
|
||||
--include=$(top_srcdir)/doc/bison.x \
|
||||
--include=$(top_srcdir)/%D%/bison.x \
|
||||
--output=$@.tmp tests/bison
|
||||
$(AM_V_at)if $(remove_time_stamp) $@ >$@a.tmp 2>/dev/null && \
|
||||
$(remove_time_stamp) $@.tmp | cmp $@a.tmp - >/dev/null 2>&1; then \
|
||||
@@ -153,7 +153,7 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS)
|
||||
$(AM_V_at)rm -f $@*.tmp
|
||||
|
||||
if ENABLE_YACC
|
||||
nodist_man_MANS = doc/yacc.1
|
||||
nodist_man_MANS = %D%/yacc.1
|
||||
endif
|
||||
|
||||
## ----------------------------- ##
|
||||
@@ -162,8 +162,8 @@ endif
|
||||
|
||||
CLEANFILES += $(FIGS_GV:.gv=.eps) $(FIGS_GV:.gv=.pdf) $(FIGS_GV:.gv=.svg)
|
||||
FIGS_GV = \
|
||||
doc/figs/example.gv \
|
||||
doc/figs/example-reduce.gv doc/figs/example-shift.gv
|
||||
%D%/figs/example.gv \
|
||||
%D%/figs/example-reduce.gv %D%/figs/example-shift.gv
|
||||
EXTRA_DIST += \
|
||||
$(FIGS_GV) $(FIGS_GV:.gv=.txt) \
|
||||
$(FIGS_GV:.gv=.eps) $(FIGS_GV:.gv=.pdf) $(FIGS_GV:.gv=.svg)
|
||||
@@ -194,8 +194,8 @@ DOXYGEN = doxygen
|
||||
|
||||
doc: html
|
||||
|
||||
html-local: doc/Doxyfile
|
||||
$(AM_V_GEN) $(DOXYGEN) doc/Doxyfile
|
||||
html-local: %D%/Doxyfile
|
||||
$(AM_V_GEN) $(DOXYGEN) %D%/Doxyfile
|
||||
|
||||
edit = sed -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
|
||||
-e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
|
||||
@@ -203,11 +203,11 @@ edit = sed -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
|
||||
-e 's,@top_builddir\@,$(top_builddir),g' \
|
||||
-e 's,@top_srcdir\@,$(top_srcdir),g'
|
||||
|
||||
EXTRA_DIST += doc/Doxyfile.in
|
||||
CLEANFILES += doc/Doxyfile
|
||||
EXTRA_DIST += %D%/Doxyfile.in
|
||||
CLEANFILES += %D%/Doxyfile
|
||||
# Sed is used to generate Doxyfile from Doxyfile.in instead of
|
||||
# configure, because the former is way faster than the latter.
|
||||
doc/Doxyfile: $(top_srcdir)/doc/Doxyfile.in
|
||||
$(AM_V_GEN) $(edit) $(top_srcdir)/doc/Doxyfile.in >doc/Doxyfile
|
||||
%D%/Doxyfile: $(top_srcdir)/%D%/Doxyfile.in
|
||||
$(AM_V_GEN) $(edit) $(top_srcdir)/%D%/Doxyfile.in >%D%/Doxyfile
|
||||
|
||||
CLEANDIRS += doc/html
|
||||
CLEANDIRS += %D%/html
|
||||
|
||||
Reference in New Issue
Block a user