Skip to content

Commit 98f3f03

Browse files
committed
Merge branch 'fc/doc-build-cleanup'
Preparatory build procedure clean-up for documentation. * fc/doc-build-cleanup: doc: avoid using rm directly doc: simplify Makefile using .DELETE_ON_ERROR doc: remove unnecessary rm instances doc: improve asciidoc dependencies doc: refactor common asciidoc dependencies
2 parents 2019256 + 7ba3016 commit 98f3f03

File tree

1 file changed

+29
-48
lines changed

1 file changed

+29
-48
lines changed

Documentation/Makefile

Lines changed: 29 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ ASCIIDOC_CONF = -f asciidoc.conf
139139
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
140140
-amanversion=$(GIT_VERSION) \
141141
-amanmanual='Git Manual' -amansource='Git'
142+
ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
142143
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
143144
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
144145
MANPAGE_XSL = manpage-normal.xsl
@@ -193,6 +194,7 @@ ASCIIDOC_DOCBOOK = docbook5
193194
ASCIIDOC_EXTRA += -acompat-mode -atabsize=8
194195
ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
195196
ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
197+
ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
196198
DBLATEX_COMMON =
197199
XMLTO_EXTRA += --skip-validation
198200
XMLTO_EXTRA += -x manpage.xsl
@@ -294,9 +296,7 @@ docdep_prereqs = \
294296
cmd-list.made $(cmds_txt)
295297

296298
doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl
297-
$(QUIET_GEN)$(RM) $@+ $@ && \
298-
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
299-
mv $@+ $@
299+
$(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl >$@ $(QUIET_STDERR)
300300

301301
ifneq ($(MAKECMDGOALS),clean)
302302
-include doc.dep
@@ -316,16 +316,15 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
316316
$(cmds_txt): cmd-list.made
317317

318318
cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
319-
$(QUIET_GEN)$(RM) $@ && \
320-
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
319+
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
321320
date >$@
322321

323322
mergetools_txt = mergetools-diff.txt mergetools-merge.txt
324323

325324
$(mergetools_txt): mergetools-list.made
326325

327326
mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
328-
$(QUIET_GEN)$(RM) $@ && \
327+
$(QUIET_GEN) \
329328
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
330329
. ../git-mergetool--lib.sh && \
331330
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
@@ -354,32 +353,23 @@ clean:
354353
$(RM) manpage-base-url.xsl
355354
$(RM) GIT-ASCIIDOCFLAGS
356355

357-
$(MAN_HTML): %.html : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
358-
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
359-
$(TXT_TO_HTML) -d manpage -o $@+ $< && \
360-
mv $@+ $@
356+
$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS)
357+
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -d manpage -o $@ $<
361358

362-
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
363-
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
364-
$(TXT_TO_HTML) -o $@+ $< && \
365-
mv $@+ $@
359+
$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
360+
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $<
366361

367362
manpage-base-url.xsl: manpage-base-url.xsl.in
368363
$(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
369364

370365
%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl)
371-
$(QUIET_XMLTO)$(RM) $@ && \
372-
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
366+
$(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
373367

374-
%.xml : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
375-
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
376-
$(TXT_TO_XML) -d manpage -o $@+ $< && \
377-
mv $@+ $@
368+
%.xml : %.txt $(ASCIIDOC_DEPS)
369+
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<
378370

379371
user-manual.xml: user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
380-
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
381-
$(TXT_TO_XML) -d book -o $@+ $< && \
382-
mv $@+ $@
372+
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $<
383373

384374
technical/api-index.txt: technical/api-index-skel.txt \
385375
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
@@ -400,46 +390,35 @@ XSLTOPTS += --stringparam html.stylesheet docbook-xsl.css
400390
XSLTOPTS += --param generate.consistent.ids 1
401391

402392
user-manual.html: user-manual.xml $(XSLT)
403-
$(QUIET_XSLTPROC)$(RM) $@+ $@ && \
404-
xsltproc $(XSLTOPTS) -o $@+ $(XSLT) $< && \
405-
mv $@+ $@
393+
$(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
406394

407395
git.info: user-manual.texi
408396
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi
409397

410398
user-manual.texi: user-manual.xml
411-
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
412-
$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \
413-
$(PERL_PATH) fix-texi.perl <$@++ >$@+ && \
414-
rm $@++ && \
415-
mv $@+ $@
399+
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
400+
$(PERL_PATH) fix-texi.perl <$@+ >$@ && \
401+
$(RM) $@+
416402

417403
user-manual.pdf: user-manual.xml
418-
$(QUIET_DBLATEX)$(RM) $@+ $@ && \
419-
$(DBLATEX) -o $@+ $(DBLATEX_COMMON) $< && \
420-
mv $@+ $@
404+
$(QUIET_DBLATEX)$(DBLATEX) -o $@ $(DBLATEX_COMMON) $<
421405

422406
gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl
423-
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
407+
$(QUIET_DB2TEXI) \
424408
($(foreach xml,$(sort $(MAN_XML)),xsltproc -o $(xml)+ texi.xsl $(xml) && \
425409
$(DOCBOOK2X_TEXI) --encoding=UTF-8 --to-stdout $(xml)+ && \
426-
rm $(xml)+ &&) true) > $@++ && \
427-
$(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
428-
rm $@++ && \
429-
mv $@+ $@
410+
$(RM) $(xml)+ &&) true) > $@+ && \
411+
$(PERL_PATH) cat-texi.perl $@ <$@+ >$@ && \
412+
$(RM) $@+
430413

431414
gitman.info: gitman.texi
432415
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi
433416

434417
$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
435-
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
436-
$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \
437-
mv $@+ $@
418+
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@
438419

439420
howto-index.txt: howto-index.sh $(HOWTO_TXT)
440-
$(QUIET_GEN)$(RM) $@+ $@ && \
441-
'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@+ && \
442-
mv $@+ $@
421+
$(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@
443422

444423
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
445424
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
@@ -448,10 +427,9 @@ WEBDOC_DEST = /pub/software/scm/git/docs
448427

449428
howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
450429
$(patsubst %.txt,%.html,$(HOWTO_TXT)): %.html : %.txt GIT-ASCIIDOCFLAGS
451-
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
430+
$(QUIET_ASCIIDOC) \
452431
sed -e '1,/^$$/d' $< | \
453-
$(TXT_TO_HTML) - >$@+ && \
454-
mv $@+ $@
432+
$(TXT_TO_HTML) - >$@
455433

456434
install-webdoc : html
457435
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
@@ -492,4 +470,7 @@ doc-l10n install-l10n::
492470
$(MAKE) -C po $@
493471
endif
494472

473+
# Delete the target file on error
474+
.DELETE_ON_ERROR:
475+
495476
.PHONY: FORCE

0 commit comments

Comments
 (0)