1# Guard against environment variables 2MAN1_TXT = 3MAN5_TXT = 4MAN7_TXT = 5HOWTO_TXT = 6DOC_DEP_TXT = 7TECH_DOCS = 8ARTICLES = 9SP_ARTICLES = 10OBSOLETE_HTML = 11 12-include GIT-EXCLUDED-PROGRAMS 13 14MAN1_TXT += $(filter-out \ 15 $(patsubst %,%.txt,$(EXCLUDED_PROGRAMS)) \ 16 $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ 17 $(wildcard git-*.txt)) 18MAN1_TXT += git.txt 19MAN1_TXT += gitk.txt 20MAN1_TXT += gitweb.txt 21 22# man5 / man7 guides (note: new guides should also be added to command-list.txt) 23MAN5_TXT += gitattributes.txt 24MAN5_TXT += githooks.txt 25MAN5_TXT += gitignore.txt 26MAN5_TXT += gitmailmap.txt 27MAN5_TXT += gitmodules.txt 28MAN5_TXT += gitrepository-layout.txt 29MAN5_TXT += gitweb.conf.txt 30 31MAN7_TXT += gitcli.txt 32MAN7_TXT += gitcore-tutorial.txt 33MAN7_TXT += gitcredentials.txt 34MAN7_TXT += gitcvs-migration.txt 35MAN7_TXT += gitdiffcore.txt 36MAN7_TXT += giteveryday.txt 37MAN7_TXT += gitfaq.txt 38MAN7_TXT += gitglossary.txt 39MAN7_TXT += gitnamespaces.txt 40MAN7_TXT += gitremote-helpers.txt 41MAN7_TXT += gitrevisions.txt 42MAN7_TXT += gitsubmodules.txt 43MAN7_TXT += gittutorial-2.txt 44MAN7_TXT += gittutorial.txt 45MAN7_TXT += gitworkflows.txt 46 47HOWTO_TXT += $(wildcard howto/*.txt) 48 49DOC_DEP_TXT += $(wildcard *.txt) 50DOC_DEP_TXT += $(wildcard config/*.txt) 51 52ifdef MAN_FILTER 53MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)) 54else 55MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT) 56MAN_FILTER = $(MAN_TXT) 57endif 58 59MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT)) 60MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT)) 61GIT_MAN_REF = master 62 63OBSOLETE_HTML += everyday.html 64OBSOLETE_HTML += git-remote-helpers.html 65 66ARTICLES += howto-index 67ARTICLES += git-tools 68ARTICLES += git-bisect-lk2009 69# with their own formatting rules. 70SP_ARTICLES += user-manual 71SP_ARTICLES += howto/new-command 72SP_ARTICLES += howto/revert-branch-rebase 73SP_ARTICLES += howto/using-merge-subtree 74SP_ARTICLES += howto/using-signed-tag-in-pull-request 75SP_ARTICLES += howto/use-git-daemon 76SP_ARTICLES += howto/update-hook-example 77SP_ARTICLES += howto/setup-git-server-over-http 78SP_ARTICLES += howto/separating-topic-branches 79SP_ARTICLES += howto/revert-a-faulty-merge 80SP_ARTICLES += howto/recover-corrupted-blob-object 81SP_ARTICLES += howto/recover-corrupted-object-harder 82SP_ARTICLES += howto/rebuild-from-update-hook 83SP_ARTICLES += howto/rebase-from-internal-branch 84SP_ARTICLES += howto/keep-canonical-history-correct 85SP_ARTICLES += howto/maintain-git 86SP_ARTICLES += howto/coordinate-embargoed-releases 87API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt))) 88SP_ARTICLES += $(API_DOCS) 89 90TECH_DOCS += MyFirstContribution 91TECH_DOCS += MyFirstObjectWalk 92TECH_DOCS += SubmittingPatches 93TECH_DOCS += technical/bundle-format 94TECH_DOCS += technical/hash-function-transition 95TECH_DOCS += technical/http-protocol 96TECH_DOCS += technical/index-format 97TECH_DOCS += technical/long-running-process-protocol 98TECH_DOCS += technical/multi-pack-index 99TECH_DOCS += technical/pack-format 100TECH_DOCS += technical/pack-heuristics 101TECH_DOCS += technical/pack-protocol 102TECH_DOCS += technical/parallel-checkout 103TECH_DOCS += technical/partial-clone 104TECH_DOCS += technical/protocol-capabilities 105TECH_DOCS += technical/protocol-common 106TECH_DOCS += technical/protocol-v2 107TECH_DOCS += technical/racy-git 108TECH_DOCS += technical/reftable 109TECH_DOCS += technical/send-pack-pipeline 110TECH_DOCS += technical/shallow 111TECH_DOCS += technical/signature-format 112TECH_DOCS += technical/trivial-merge 113SP_ARTICLES += $(TECH_DOCS) 114SP_ARTICLES += technical/api-index 115 116ARTICLES_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES)) 117HTML_FILTER ?= $(ARTICLES_HTML) $(OBSOLETE_HTML) 118DOC_HTML = $(MAN_HTML) $(filter $(HTML_FILTER),$(ARTICLES_HTML) $(OBSOLETE_HTML)) 119 120DOC_MAN1 = $(patsubst %.txt,%.1,$(filter $(MAN_FILTER),$(MAN1_TXT))) 121DOC_MAN5 = $(patsubst %.txt,%.5,$(filter $(MAN_FILTER),$(MAN5_TXT))) 122DOC_MAN7 = $(patsubst %.txt,%.7,$(filter $(MAN_FILTER),$(MAN7_TXT))) 123 124prefix ?= $(PREFIX) 125bindir ?= $(prefix)/bin 126htmldir ?= $(prefix)/share/doc/git 127infodir ?= $(prefix)/share/info 128pdfdir ?= $(prefix)/share/doc/git 129mandir ?= $(prefix)/share/man 130man1dir = $(mandir)/man1 131man5dir = $(mandir)/man5 132man7dir = $(mandir)/man7 133# DESTDIR = 134 135ASCIIDOC = asciidoc 136ASCIIDOC_EXTRA = 137ASCIIDOC_HTML = xhtml11 138ASCIIDOC_DOCBOOK = docbook 139ASCIIDOC_CONF = -f asciidoc.conf 140ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \ 141 -amanversion=$(GIT_VERSION) \ 142 -amanmanual='Git Manual' -amansource='Git' 143ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS 144TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) 145TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) 146MANPAGE_XSL = manpage-normal.xsl 147XMLTO = xmlto 148XMLTO_EXTRA = 149INSTALL ?= install 150RM ?= rm -f 151MAN_REPO = ../../git-manpages 152HTML_REPO = ../../git-htmldocs 153 154MAKEINFO = makeinfo 155INSTALL_INFO = install-info 156DOCBOOK2X_TEXI = docbook2x-texi 157DBLATEX = dblatex 158ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex 159DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty 160ifndef PERL_PATH 161 PERL_PATH = /usr/bin/perl 162endif 163 164-include ../config.mak.autogen 165-include ../config.mak 166 167ifndef NO_MAN_BOLD_LITERAL 168XMLTO_EXTRA += -m manpage-bold-literal.xsl 169endif 170 171# Newer DocBook stylesheet emits warning cruft in the output when 172# this is not set, and if set it shows an absolute link. Older 173# stylesheets simply ignore this parameter. 174# 175# Distros may want to use MAN_BASE_URL=file:///path/to/git/docs/ 176# or similar. 177ifndef MAN_BASE_URL 178MAN_BASE_URL = file://$(htmldir)/ 179endif 180XMLTO_EXTRA += -m manpage-base-url.xsl 181 182# If your target system uses GNU groff, it may try to render 183# apostrophes as a "pretty" apostrophe using unicode. This breaks 184# cut&paste, so you should set GNU_ROFF to force them to be ASCII 185# apostrophes. Unfortunately does not work with non-GNU roff. 186ifdef GNU_ROFF 187XMLTO_EXTRA += -m manpage-quote-apos.xsl 188endif 189 190ifdef USE_ASCIIDOCTOR 191ASCIIDOC = asciidoctor 192ASCIIDOC_CONF = 193ASCIIDOC_HTML = xhtml5 194ASCIIDOC_DOCBOOK = docbook5 195ASCIIDOC_EXTRA += -acompat-mode -atabsize=8 196ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions 197ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;' 198ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS 199DBLATEX_COMMON = 200XMLTO_EXTRA += --skip-validation 201XMLTO_EXTRA += -x manpage.xsl 202endif 203 204SHELL_PATH ?= $(SHELL) 205# Shell quote; 206SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) 207 208ifdef DEFAULT_PAGER 209DEFAULT_PAGER_SQ = $(subst ','\'',$(DEFAULT_PAGER)) 210ASCIIDOC_EXTRA += -a 'git-default-pager=$(DEFAULT_PAGER_SQ)' 211endif 212 213ifdef DEFAULT_EDITOR 214DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR)) 215ASCIIDOC_EXTRA += -a 'git-default-editor=$(DEFAULT_EDITOR_SQ)' 216endif 217 218QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir 219QUIET_SUBDIR1 = 220 221ifneq ($(findstring $(MAKEFLAGS),w),w) 222PRINT_DIR = --no-print-directory 223else # "make -w" 224NO_SUBDIR = : 225endif 226 227ifneq ($(findstring $(MAKEFLAGS),s),s) 228ifndef V 229 QUIET = @ 230 QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@; 231 QUIET_XMLTO = @echo ' ' XMLTO $@; 232 QUIET_DB2TEXI = @echo ' ' DB2TEXI $@; 233 QUIET_MAKEINFO = @echo ' ' MAKEINFO $@; 234 QUIET_DBLATEX = @echo ' ' DBLATEX $@; 235 QUIET_XSLTPROC = @echo ' ' XSLTPROC $@; 236 QUIET_GEN = @echo ' ' GEN $@; 237 QUIET_STDERR = 2> /dev/null 238 QUIET_SUBDIR0 = +@subdir= 239 QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ 240 $(MAKE) $(PRINT_DIR) -C $$subdir 241 242 QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<; 243 QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<; 244 QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<; 245 246 export V 247endif 248endif 249 250all: html 251 252html: $(DOC_HTML) 253 254man: man1 man5 man7 255man1: $(DOC_MAN1) 256man5: $(DOC_MAN5) 257man7: $(DOC_MAN7) 258 259info: git.info gitman.info 260 261pdf: user-manual.pdf 262 263install: install-man 264 265install-man: man 266 $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) 267 $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) 268 $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir) 269 $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir) 270 $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir) 271 $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir) 272 273install-info: info 274 $(INSTALL) -d -m 755 $(DESTDIR)$(infodir) 275 $(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir) 276 if test -r $(DESTDIR)$(infodir)/dir; then \ 277 $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\ 278 $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\ 279 else \ 280 echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \ 281 fi 282 283install-pdf: pdf 284 $(INSTALL) -d -m 755 $(DESTDIR)$(pdfdir) 285 $(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir) 286 287install-html: html 288 '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) 289 290../GIT-VERSION-FILE: FORCE 291 $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE 292 293ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),) 294-include ../GIT-VERSION-FILE 295endif 296 297# 298# Determine "include::" file references in asciidoc files. 299# 300docdep_prereqs = \ 301 mergetools-list.made $(mergetools_txt) \ 302 cmd-list.made $(cmds_txt) 303 304doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl 305 $(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl >$@ $(QUIET_STDERR) 306 307ifneq ($(MAKECMDGOALS),clean) 308-include doc.dep 309endif 310 311cmds_txt = cmds-ancillaryinterrogators.txt \ 312 cmds-ancillarymanipulators.txt \ 313 cmds-mainporcelain.txt \ 314 cmds-plumbinginterrogators.txt \ 315 cmds-plumbingmanipulators.txt \ 316 cmds-synchingrepositories.txt \ 317 cmds-synchelpers.txt \ 318 cmds-guide.txt \ 319 cmds-purehelpers.txt \ 320 cmds-foreignscminterface.txt 321 322$(cmds_txt): cmd-list.made 323 324cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) 325 $(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \ 326 date >$@ 327 328mergetools_txt = mergetools-diff.txt mergetools-merge.txt 329 330$(mergetools_txt): mergetools-list.made 331 332mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*) 333 $(QUIET_GEN) \ 334 $(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \ 335 . ../git-mergetool--lib.sh && \ 336 show_tool_names can_diff "* " || :' >mergetools-diff.txt && \ 337 $(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \ 338 . ../git-mergetool--lib.sh && \ 339 show_tool_names can_merge "* " || :' >mergetools-merge.txt && \ 340 date >$@ 341 342TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK)) 343 344GIT-ASCIIDOCFLAGS: FORCE 345 @FLAGS='$(TRACK_ASCIIDOCFLAGS)'; \ 346 if test x"$$FLAGS" != x"`cat GIT-ASCIIDOCFLAGS 2>/dev/null`" ; then \ 347 echo >&2 " * new asciidoc flags"; \ 348 echo "$$FLAGS" >GIT-ASCIIDOCFLAGS; \ 349 fi 350 351clean: 352 $(RM) -rf .build/ 353 $(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 354 $(RM) *.texi *.texi+ *.texi++ git.info gitman.info 355 $(RM) *.pdf 356 $(RM) howto-index.txt howto/*.html doc.dep 357 $(RM) technical/*.html technical/api-index.txt 358 $(RM) SubmittingPatches.txt 359 $(RM) $(cmds_txt) $(mergetools_txt) *.made 360 $(RM) manpage-base-url.xsl 361 $(RM) GIT-ASCIIDOCFLAGS 362 363$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS) 364 $(QUIET_ASCIIDOC)$(TXT_TO_HTML) -d manpage -o $@ $< 365 366$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS) 367 $(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $< 368 369manpage-base-url.xsl: manpage-base-url.xsl.in 370 $(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@ 371 372%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl) 373 $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< 374 375%.xml : %.txt $(ASCIIDOC_DEPS) 376 $(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $< 377 378user-manual.xml: user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS 379 $(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $< 380 381technical/api-index.txt: technical/api-index-skel.txt \ 382 technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS)) 383 $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh 384 385technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ 386$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt \ 387 asciidoc.conf GIT-ASCIIDOCFLAGS 388 $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt 389 390SubmittingPatches.txt: SubmittingPatches 391 $(QUIET_GEN) cp $< $@ 392 393XSLT = docbook.xsl 394XSLTOPTS = 395XSLTOPTS += --xinclude 396XSLTOPTS += --stringparam html.stylesheet docbook-xsl.css 397XSLTOPTS += --param generate.consistent.ids 1 398 399user-manual.html: user-manual.xml $(XSLT) 400 $(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $< 401 402git.info: user-manual.texi 403 $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi 404 405user-manual.texi: user-manual.xml 406 $(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \ 407 $(PERL_PATH) fix-texi.perl <$@+ >$@ && \ 408 $(RM) $@+ 409 410user-manual.pdf: user-manual.xml 411 $(QUIET_DBLATEX)$(DBLATEX) -o $@ $(DBLATEX_COMMON) $< 412 413gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl 414 $(QUIET_DB2TEXI) \ 415 ($(foreach xml,$(sort $(MAN_XML)),xsltproc -o $(xml)+ texi.xsl $(xml) && \ 416 $(DOCBOOK2X_TEXI) --encoding=UTF-8 --to-stdout $(xml)+ && \ 417 $(RM) $(xml)+ &&) true) > $@+ && \ 418 $(PERL_PATH) cat-texi.perl $@ <$@+ >$@ && \ 419 $(RM) $@+ 420 421gitman.info: gitman.texi 422 $(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi 423 424$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml 425 $(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@ 426 427howto-index.txt: howto-index.sh $(HOWTO_TXT) 428 $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@ 429 430$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt 431 $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt 432 433WEBDOC_DEST = /pub/software/scm/git/docs 434 435howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ 436$(patsubst %.txt,%.html,$(HOWTO_TXT)): %.html : %.txt GIT-ASCIIDOCFLAGS 437 $(QUIET_ASCIIDOC) \ 438 sed -e '1,/^$$/d' $< | \ 439 $(TXT_TO_HTML) - >$@ 440 441install-webdoc : html 442 '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) 443 444# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories 445# next to the 'git' repository itself for the following to work. 446 447quick-install: quick-install-man 448 449require-manrepo:: 450 @if test ! -d $(MAN_REPO); \ 451 then echo "git-manpages repository must exist at $(MAN_REPO)"; exit 1; fi 452 453quick-install-man: require-manrepo 454 '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir) $(GIT_MAN_REF) 455 456require-htmlrepo:: 457 @if test ! -d $(HTML_REPO); \ 458 then echo "git-htmldocs repository must exist at $(HTML_REPO)"; exit 1; fi 459 460quick-install-html: require-htmlrepo 461 '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REPO) $(DESTDIR)$(htmldir) $(GIT_MAN_REF) 462 463print-man1: 464 @for i in $(MAN1_TXT); do echo $$i; done 465 466## Lint: Common 467.build: 468 $(QUIET)mkdir $@ 469.build/lint-docs: | .build 470 $(QUIET)mkdir $@ 471 472## Lint: gitlink 473.build/lint-docs/gitlink: | .build/lint-docs 474 $(QUIET)mkdir $@ 475.build/lint-docs/gitlink/howto: | .build/lint-docs/gitlink 476 $(QUIET)mkdir $@ 477.build/lint-docs/gitlink/config: | .build/lint-docs/gitlink 478 $(QUIET)mkdir $@ 479LINT_DOCS_GITLINK = $(patsubst %.txt,.build/lint-docs/gitlink/%.ok,$(HOWTO_TXT) $(DOC_DEP_TXT)) 480$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink 481$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink/howto 482$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink/config 483$(LINT_DOCS_GITLINK): lint-gitlink.perl 484$(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.txt 485 $(QUIET_LINT_GITLINK)$(PERL_PATH) lint-gitlink.perl \ 486 $< \ 487 $(HOWTO_TXT) $(DOC_DEP_TXT) \ 488 --section=1 $(MAN1_TXT) \ 489 --section=5 $(MAN5_TXT) \ 490 --section=7 $(MAN7_TXT) >$@ 491.PHONY: lint-docs-gitlink 492lint-docs-gitlink: $(LINT_DOCS_GITLINK) 493 494## Lint: man-end-blurb 495.build/lint-docs/man-end-blurb: | .build/lint-docs 496 $(QUIET)mkdir $@ 497LINT_DOCS_MAN_END_BLURB = $(patsubst %.txt,.build/lint-docs/man-end-blurb/%.ok,$(MAN_TXT)) 498$(LINT_DOCS_MAN_END_BLURB): | .build/lint-docs/man-end-blurb 499$(LINT_DOCS_MAN_END_BLURB): lint-man-end-blurb.perl 500$(LINT_DOCS_MAN_END_BLURB): .build/lint-docs/man-end-blurb/%.ok: %.txt 501 $(QUIET_LINT_MANEND)$(PERL_PATH) lint-man-end-blurb.perl $< >$@ 502.PHONY: lint-docs-man-end-blurb 503lint-docs-man-end-blurb: $(LINT_DOCS_MAN_END_BLURB) 504 505## Lint: man-section-order 506.build/lint-docs/man-section-order: | .build/lint-docs 507 $(QUIET)mkdir $@ 508LINT_DOCS_MAN_SECTION_ORDER = $(patsubst %.txt,.build/lint-docs/man-section-order/%.ok,$(MAN_TXT)) 509$(LINT_DOCS_MAN_SECTION_ORDER): | .build/lint-docs/man-section-order 510$(LINT_DOCS_MAN_SECTION_ORDER): lint-man-section-order.perl 511$(LINT_DOCS_MAN_SECTION_ORDER): .build/lint-docs/man-section-order/%.ok: %.txt 512 $(QUIET_LINT_MANSEC)$(PERL_PATH) lint-man-section-order.perl $< >$@ 513.PHONY: lint-docs-man-section-order 514lint-docs-man-section-order: $(LINT_DOCS_MAN_SECTION_ORDER) 515 516## Lint: list of targets above 517.PHONY: lint-docs 518lint-docs: lint-docs-gitlink 519lint-docs: lint-docs-man-end-blurb 520lint-docs: lint-docs-man-section-order 521 522ifeq ($(wildcard po/Makefile),po/Makefile) 523doc-l10n install-l10n:: 524 $(MAKE) -C po $@ 525endif 526 527# Delete the target file on error 528.DELETE_ON_ERROR: 529 530.PHONY: FORCE 531