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
							parent
							
								
									0e94f7aa73
								
							
						
					
					
						commit
						9a71722b4d
					
				|  | @ -13,3 +13,4 @@ mergetools-*.txt | |||
| manpage-base-url.xsl | ||||
| SubmittingPatches.txt | ||||
| tmp-doc-diff/ | ||||
| GIT-ASCIIDOCFLAGS | ||||
|  |  | |||
|  | @ -331,6 +331,15 @@ mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*) | |||
| 		show_tool_names can_merge "* " || :' >mergetools-merge.txt && \ | ||||
| 	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: | ||||
| 	$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 | ||||
| 	$(RM) *.texi *.texi+ *.texi++ git.info gitman.info | ||||
|  | @ -340,13 +349,14 @@ clean: | |||
| 	$(RM) SubmittingPatches.txt | ||||
| 	$(RM) $(cmds_txt) $(mergetools_txt) *.made | ||||
| 	$(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) $@+ $@ && \ | ||||
| 	$(TXT_TO_HTML) -d manpage -o $@+ $< && \ | ||||
| 	mv $@+ $@ | ||||
|  | ||||
| $(OBSOLETE_HTML): %.html : %.txto asciidoc.conf | ||||
| $(OBSOLETE_HTML): %.html : %.txto asciidoc.conf GIT-ASCIIDOCFLAGS | ||||
| 	$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ | ||||
| 	$(TXT_TO_HTML) -o $@+ $< && \ | ||||
| 	mv $@+ $@ | ||||
|  | @ -358,12 +368,12 @@ manpage-base-url.xsl: manpage-base-url.xsl.in | |||
| 	$(QUIET_XMLTO)$(RM) $@ && \ | ||||
| 	$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< | ||||
|  | ||||
| %.xml : %.txt asciidoc.conf | ||||
| %.xml : %.txt asciidoc.conf GIT-ASCIIDOCFLAGS | ||||
| 	$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ | ||||
| 	$(TXT_TO_XML) -d manpage -o $@+ $< && \ | ||||
| 	mv $@+ $@ | ||||
|  | ||||
| user-manual.xml: user-manual.txt user-manual.conf | ||||
| user-manual.xml: user-manual.txt user-manual.conf GIT-ASCIIDOCFLAGS | ||||
| 	$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ | ||||
| 	$(TXT_TO_XML) -d book -o $@+ $< && \ | ||||
| 	mv $@+ $@ | ||||
|  | @ -373,7 +383,8 @@ technical/api-index.txt: technical/api-index-skel.txt \ | |||
| 	$(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh | ||||
|  | ||||
| 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 | ||||
|  | ||||
| SubmittingPatches.txt: SubmittingPatches | ||||
|  | @ -430,7 +441,7 @@ $(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt | |||
| WEBDOC_DEST = /pub/software/scm/git/docs | ||||
|  | ||||
| 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) $@+ $@ && \ | ||||
| 	sed -e '1,/^$$/d' $< | \ | ||||
| 	$(TXT_TO_HTML) - >$@+ && \ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Martin Ågren
						Martin Ågren