diff --git a/doc/local.mk b/doc/local.mk index 9695b358..9ff874c4 100644 --- a/doc/local.mk +++ b/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