git: 65f60d715fd9 - main - bsd.man.mk: Add a MANSRC.{TARGET} variable
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 26 Aug 2025 20:45:01 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=65f60d715fd9ece2602062c832e6808c5c58866b
commit 65f60d715fd9ece2602062c832e6808c5c58866b
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-08-26 20:44:11 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-08-26 20:44:11 +0000
bsd.man.mk: Add a MANSRC.{TARGET} variable
This can be used to specify an alternate source file name for an
individual manpage. For example, the following snippet:
MAN= foo::bar.3
MANSRC.foo::bar.3= foo__bar.3
Will install a foo::bar.3 manpage but use foo__bar.3 as the source
input to MANFILTER, etc.
Suggested by: ivy
Reviewed by: ivy
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D51793
---
share/mk/bsd.README | 3 +++
share/mk/bsd.man.mk | 20 +++++++++++++-------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/share/mk/bsd.README b/share/mk/bsd.README
index 89ee8527895e..85baba7ba117 100644
--- a/share/mk/bsd.README
+++ b/share/mk/bsd.README
@@ -259,6 +259,9 @@ MLINKS List of manual page links (using a .1 - .9 suffix). The
linked-to file must come first, the linked file second,
and there may be multiple pairs. The files are hard-linked.
+MANSRC.${MAN:T} Name of source file for an individual manual page.
+ Defaults to the manual page name.
+
The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
it exists.
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index 66155d1b4cd9..36d2cf1a1433 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -21,6 +21,9 @@
# MAN The manual pages to be installed. For sections see
# variable ${SECTIONS}
#
+# MANSRC.${MAN:T} Name of source file for an individual manual page.
+# Defaults to the manual page name.
+#
# MCOMPRESS_CMD Program to compress man pages. Output is to
# stdout. [${COMPRESS_CMD}]
#
@@ -141,13 +144,13 @@ CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${FILTEXTENSION}/g}
# filenames contain colons.
.for __target in ${__page:T:S/:/\:/g:S/$/${FILTEXTENSION}/g}
all-man: ${__target}
-${__target}: ${__page}
+${__target}: ${MANSRC.${__page:T}:U${__page}}
${MANFILTER} < ${.ALLSRC} > ${.TARGET}
.endfor
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${FILTEXTENSION}/g}
all-man: ${__target}
-${__target}: ${__page}
+${__target}: ${MANSRC.${__page:T}:U${__page}}
${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} > ${.TARGET}
.endfor
.endif
@@ -160,7 +163,7 @@ CLEANFILES+= ${${__group}:T:S/$/${CATEXT}/g}
.for __page in ${${__group}}
.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}/g}
all-man: ${__target}
-${__target}: ${__page}
+${__target}: ${MANSRC.${__page:T}:U${__page}}
${MANDOC_CMD} ${.ALLSRC} > ${.TARGET}
.endfor
.endfor
@@ -180,7 +183,7 @@ CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g}
.for __page in ${${__group}}
.for __target in ${__page:T:S/:/\:/g:S/$/${MCOMPRESS_EXT}/}
all-man: ${__target}
-${__target}: ${__page}
+${__target}: ${MANSRC.${__page:T}:U${__page}}
.if defined(MANFILTER)
${MANFILTER} < ${.ALLSRC} | ${MCOMPRESS_CMD} > ${.TARGET}
.else
@@ -190,7 +193,7 @@ ${__target}: ${__page}
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${MCOMPRESS_EXT}/}
all-man: ${__target}
-${__target}: ${__page}
+${__target}: ${MANSRC.${__page:T}:U${__page}}
.if defined(MANFILTER)
${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} | ${MCOMPRESS_CMD} > ${.TARGET}
.else
@@ -238,7 +241,10 @@ stage_links.mlinks.${__group}: ${_mansets.${__group}:@s@stage_files.${__group}.$
realmaninstall-${__group}:
.if defined(${__group}) && !empty(${__group})
-realmaninstall-${__group}: ${${__group}}
+.for __page in ${${__group}}
+__mansrc.${__group}+= ${MANSRC.${__page:T}:U${__page}}
+.endfor
+realmaninstall-${__group}: ${__mansrc.${__group}}
.if ${MK_MANCOMPRESS} == "no"
.if defined(MANFILTER)
.for __page in ${${__group}}
@@ -292,7 +298,7 @@ manlint: .PHONY checkmanlinks
.if defined(${__group}) && !empty(${__group})
.for __page in ${${__group}}
manlint: ${__page:S/:/\:/g}lint
-${__page:S/:/\:/g}lint: .PHONY ${__page}
+${__page:S/:/\:/g}lint: .PHONY ${MANSRC.${__page:T}:U${__page}}
.if defined(MANFILTER)
${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} -Tlint
.else