Re: [PATCH v9 06/23] Makefile: generate doc versions via GIT-VERSION-GEN
- From
Renato Botelho <garga@freebsd.org>
- Date
- Jan 13, 2025, 20:17 UTC
- Message-ID
- <8060f2fe-2749-4d31-b913-5453155a8063@FreeBSD.org>
- In-Reply-To
- <20241125-pks-meson-v9-6-1c6cf242a5f1@pks.im>
On 25/11/24 06:56, Patrick Steinhardt wrote:
Show 72 quoted lines
> The documentation we generate embeds information for the exact Git
> version used as well as the date of the commit. This information is
> injected by injecting attributes into the build process via command line
> argument.
>
> Refactor the logic so that we write the information into "asciidoc.conf"
> and "asciidoctor-extensions.rb" via `GIT-VERSION-GEN` for AsciiDoc and
> AsciiDoctor, respectively.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> Documentation/.gitignore | 2 ++
> Documentation/Makefile | 21 ++++++++++++++-------
> Documentation/{asciidoc.conf => asciidoc.conf.in} | 3 +++
> ...r-extensions.rb => asciidoctor-extensions.rb.in} | 8 ++------
> GIT-VERSION-GEN | 2 ++
> 5 files changed, 23 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/.gitignore b/Documentation/.gitignore
> index a48448de32f98b1a054b36e886ea920bccebc494..649df89474d357ccc91109b5c35fe2d0910f968a 100644
> --- a/Documentation/.gitignore
> +++ b/Documentation/.gitignore
> @@ -15,3 +15,5 @@ tmp-doc-diff/
> GIT-ASCIIDOCFLAGS
> /.build/
> /GIT-EXCLUDED-PROGRAMS
> +/asciidoc.conf
> +/asciidoctor-extensions.rb
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index 0f55baa252fffbcd506f0c6f410b26b37f2e9b11..495c61c85ed18bc9c4643f9e5478e5146bb5f196 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -1,6 +1,8 @@
> # Import tree-wide shared Makefile behavior and libraries
> include ../shared.mak
>
> +.PHONY: FORCE
> +
> # Guard against environment variables
> MAN1_TXT =
> MAN5_TXT =
> @@ -148,16 +150,12 @@ man5dir = $(mandir)/man5
> man7dir = $(mandir)/man7
> # DESTDIR =
>
> -GIT_DATE := $(shell git show --quiet --pretty='%as')
> -
> ASCIIDOC = asciidoc
> ASCIIDOC_EXTRA =
> ASCIIDOC_HTML = xhtml11
> ASCIIDOC_DOCBOOK = docbook
> ASCIIDOC_CONF = -f asciidoc.conf
> -ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
> - -amanmanual='Git Manual' -amansource='Git $(GIT_VERSION)' \
> - -arevdate='$(GIT_DATE)'
> +ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF)
> ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
> TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
> TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
> @@ -210,6 +208,14 @@ ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
> DBLATEX_COMMON =
> XMLTO_EXTRA += --skip-validation
> XMLTO_EXTRA += -x manpage.xsl
> +
> +asciidoctor-extensions.rb: asciidoctor-extensions.rb.in FORCE
> + $(QUIET_GEN)GIT_USER_AGENT="$(GIT_USER_AGENT)" $(SHELL_PATH) ../GIT-VERSION-GEN "$(shell pwd)/.." $< $@+
> + @if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
> +else
> +asciidoc.conf: asciidoc.conf.in FORCE
> + $(QUIET_GEN)GIT_USER_AGENT="$(GIT_USER_AGENT)" $(SHELL_PATH) ../GIT-VERSION-GEN "$(shell pwd)/.." $< $@+
> + @if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
> endifHi Patrick!
contrib/subtree/Makefile rely on asciidoc.conf or asciidoctor-extensions.rb to build, it would be nice if it could trigger the build of the appropriate file during its build.
-- Renato Botelho