]> git.ipfire.org Git - thirdparty/git.git/commitdiff
doc-diff: use single-colon rule in rendering Makefile
authorJeff King <peff@peff.net>
Tue, 18 Feb 2020 21:40:09 +0000 (16:40 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Feb 2020 21:53:30 +0000 (13:53 -0800)
When rendering the troff manpages to text via "man", we create an ad-hoc
Makefile and feed it to "make". The purpose here is two-fold:

  - reuse results from a prior interrupted render of the same tree

  - use make's -j option to build in parallel

But the second part doesn't seem to work (at least with my version of
GNU make, 4.2.1). It just runs one render at a time.

We use a double-colon "all" rule for each file, like:

  all:: foo
  foo:
    ...actual render recipe...
  all:: bar
  bar:
    ...actual render recipe...
  ...and so on...

And it's this double-colon that seems to inhibit the parallelism. We can
just switch to a regular single-colon rule. Even though we do have
multiple rules for "all" here, we don't have any recipe to execute for
"all" (we only care about triggering its dependencies), so the
distinction is irrelevant.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/doc-diff

index 88a9b20168b24e95edb8747c6694537b084063fb..1694300e50bfcfa58cc7798614a254fec2e219a5 100755 (executable)
@@ -127,7 +127,7 @@ generate_render_makefile () {
        while read src
        do
                dst=$2/${src#$1/}
-               printf 'all:: %s\n' "$dst"
+               printf 'all: %s\n' "$dst"
                printf '%s: %s\n' "$dst" "$src"
                printf '\t@echo >&2 "  RENDER $(notdir $@)" && \\\n'
                printf '\tmkdir -p $(dir $@) && \\\n'