The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=65f60d715fd9ece2602062c832e6808c5c58866b

commit 65f60d715fd9ece2602062c832e6808c5c58866b
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2025-08-26 20:44:11 +0000
Commit:     John Baldwin <j...@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

Reply via email to