The branch main has been updated by jhb:

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

commit ec16561817902d480f8ebde3d060844b1997d8de
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2025-08-04 19:38:06 +0000
Commit:     John Baldwin <j...@freebsd.org>
CommitDate: 2025-08-04 19:38:06 +0000

    bsd.man.mk: Support manual pages with colons in the filename
    
    This requires extra escaping since make interprets the colons as
    terminating a rule.
    
    Discussed with: sjg
    Sponsored by:   Chelsio Communications
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/1794
---
 share/mk/bsd.man.mk | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index a5a4fd528268..3444e9612a20 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -137,13 +137,15 @@ ZEXT=
 CLEANFILES+=   ${${__group}:T:S/$/${FILTEXTENSION}/g}
 CLEANFILES+=   ${${__group}:T:S/$/${CATEXT}${FILTEXTENSION}/g}
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${FILTEXTENSION}/g}
+# Escape colons in target names to support manual pages whose
+# filenames contain colons.
+.for __target in ${__page:T:S/:/\:/g:S/$/${FILTEXTENSION}/g}
 all-man: ${__target}
 ${__target}: ${__page}
        ${MANFILTER} < ${.ALLSRC} > ${.TARGET}
 .endfor
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${FILTEXTENSION}/g}
 all-man: ${__target}
 ${__target}: ${__page}
        ${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} > ${.TARGET}
@@ -156,7 +158,7 @@ ${__target}: ${__page}
 CLEANFILES+=   ${${__group}:T:S/$/${CATEXT}/g}
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${CATEXT}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}/g}
 all-man: ${__target}
 ${__target}: ${__page}
        ${MANDOC_CMD} ${.ALLSRC} > ${.TARGET}
@@ -176,7 +178,7 @@ ZEXT=               ${MCOMPRESS_EXT}
 CLEANFILES+=   ${${__group}:T:S/$/${MCOMPRESS_EXT}/g}
 CLEANFILES+=   ${${__group}:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g}
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${MCOMPRESS_EXT}/}
 all-man: ${__target}
 ${__target}: ${__page}
 .if defined(MANFILTER)
@@ -186,7 +188,7 @@ ${__target}: ${__page}
 .endif
 .endfor
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${MCOMPRESS_EXT}/}
 all-man: ${__target}
 ${__target}: ${__page}
 .if defined(MANFILTER)

Reply via email to