Browse Source

Doc: auto-detect changed build flags

If you build the documentation switching between different options,
e.g., to build with both Asciidoc and Asciidoctor, you'll probably find
yourself running `make -C Documentation clean` either too often (wasting
time) or too rarely (getting mixed builds).

Track the flags we're using in the documentation build, similar to how
the main Makefile tracks CFLAGS and prefix flags. Track ASCIIDOC_COMMON
directly rather than its individual components -- that should make it
harder to forget to update the tracking if/when we modify the build
commands.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Martin Ågren 6 years ago committed by Junio C Hamano
parent
commit
9a71722b4d
  1. 1
      Documentation/.gitignore
  2. 23
      Documentation/Makefile

1
Documentation/.gitignore vendored

@ -13,3 +13,4 @@ mergetools-*.txt
manpage-base-url.xsl manpage-base-url.xsl
SubmittingPatches.txt SubmittingPatches.txt
tmp-doc-diff/ tmp-doc-diff/
GIT-ASCIIDOCFLAGS

23
Documentation/Makefile

@ -331,6 +331,15 @@ mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
show_tool_names can_merge "* " || :' >mergetools-merge.txt && \ show_tool_names can_merge "* " || :' >mergetools-merge.txt && \
date >$@ date >$@


TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK))

GIT-ASCIIDOCFLAGS: FORCE
@FLAGS='$(TRACK_ASCIIDOCFLAGS)'; \
if test x"$$FLAGS" != x"`cat GIT-ASCIIDOCFLAGS 2>/dev/null`" ; then \
echo >&2 " * new asciidoc flags"; \
echo "$$FLAGS" >GIT-ASCIIDOCFLAGS; \
fi

clean: clean:
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 $(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info $(RM) *.texi *.texi+ *.texi++ git.info gitman.info
@ -340,13 +349,14 @@ clean:
$(RM) SubmittingPatches.txt $(RM) SubmittingPatches.txt
$(RM) $(cmds_txt) $(mergetools_txt) *.made $(RM) $(cmds_txt) $(mergetools_txt) *.made
$(RM) manpage-base-url.xsl $(RM) manpage-base-url.xsl
$(RM) GIT-ASCIIDOCFLAGS


$(MAN_HTML): %.html : %.txt asciidoc.conf $(MAN_HTML): %.html : %.txt asciidoc.conf GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_HTML) -d manpage -o $@+ $< && \ $(TXT_TO_HTML) -d manpage -o $@+ $< && \
mv $@+ $@ mv $@+ $@


$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf $(OBSOLETE_HTML): %.html : %.txto asciidoc.conf GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_HTML) -o $@+ $< && \ $(TXT_TO_HTML) -o $@+ $< && \
mv $@+ $@ mv $@+ $@
@ -358,12 +368,12 @@ manpage-base-url.xsl: manpage-base-url.xsl.in
$(QUIET_XMLTO)$(RM) $@ && \ $(QUIET_XMLTO)$(RM) $@ && \
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<


%.xml : %.txt asciidoc.conf %.xml : %.txt asciidoc.conf GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_XML) -d manpage -o $@+ $< && \ $(TXT_TO_XML) -d manpage -o $@+ $< && \
mv $@+ $@ mv $@+ $@


user-manual.xml: user-manual.txt user-manual.conf user-manual.xml: user-manual.txt user-manual.conf GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_XML) -d book -o $@+ $< && \ $(TXT_TO_XML) -d book -o $@+ $< && \
mv $@+ $@ mv $@+ $@
@ -373,7 +383,8 @@ technical/api-index.txt: technical/api-index-skel.txt \
$(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh


technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt asciidoc.conf $(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt \
asciidoc.conf GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt


SubmittingPatches.txt: SubmittingPatches SubmittingPatches.txt: SubmittingPatches
@ -430,7 +441,7 @@ $(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
WEBDOC_DEST = /pub/software/scm/git/docs WEBDOC_DEST = /pub/software/scm/git/docs


howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
sed -e '1,/^$$/d' $< | \ sed -e '1,/^$$/d' $< | \
$(TXT_TO_HTML) - >$@+ && \ $(TXT_TO_HTML) - >$@+ && \

Loading…
Cancel
Save