BUILD.MAN.MK(5)
β¨ build.man.mk β bsdbuild compilation of UNIX manual pages β¨
Okay so bestie, this is the File Formats Manual for build.man.mk, and it's literally everything you need to know about compiling UNIX manual pages with bsdbuild. Let's get into it π
π NAME π
build.man.mk β bsdbuild - compilation of UNIX manual pages. That's the whole name, no cap. It's giving "I process man pages" energy.
πΈ SYNOPSIS πΈ
.include <bsd.man.mk>
That's the only line, bestie. Simple. Slay.
π¦ DESCRIPTION π¦
The build.man.mk module processes UNIX manual pages files in mandoc(1) format into presentation-ready documents in ASCII, PostScript, PDF or HTML format. Like, it takes your mandoc source and turns it into something you can actually look at. Iconic.
π TARGETS π
Okay so here are all the targets you can run. Each one is a different vibe, and ngl, they're all valid:
all-catmanβ Produce preformatted manual pages from the specified mandoc source files. And it fails silently (no cap) on systems wheremandoc/nroffare unavailable, or where preformatted manual pages are not preferred. It's giving "ghost mode" πΆclean-manβ Clean up output files. That's it. Just cleanup. π§Ήinstall-man-dirsβ Create empty section directories in${MANDIR}. Directory creation slay. πinstall-manβ Install the manpages into${MANDIR}. Yes bestie, put them where they belong. πinstall-manlinksβ Install the manpage symlinks into${MANDIR}. Symlinks are iconic. πmanβ Display a manpage (passed via theMANargument), by feeding its ASCII formatted version to${PAGER}. So you can actually read the thing. πmanlinksβ Scan the${MAN*}sources and auto-generate a.manlinks.mkfile defining links for function names (i.e., where.Fnappears in a SYNOPSIS or".nr nS 1"block), or where the special directive"MANLINK(name)"appears in a comment. Auto-generation is main character energy. β¨lintβ Parse only, produce no output. Display verbose warnings. It's the "just checking" vibe. π
Vibe check: all targets present and accounted for. Periodt.
π VARIABLES π
These are the variables you need to know. Fr fr, don't skip them, bestie.
MAN[1-9]β List of mandoc input source files (with the.[1-9]extension). So likefoo.1,bar.8, etc. Got it. πMANDOCβ Mandoc processor (usually"mandoc"or"nroff -Tmandoc", depending on platform). This is typically set by a./configurescript (the needed test is included by default in all configure scripts bymkconfigure(1)). So you probably don't have to touch it. Slay. π οΈMANLINKSβ A list of symbolic links that should be created by the install target. The elements of this list are of the form"Foo.1:Bar.1", where"Bar.1"is the symbolic link, and"Foo.1"is the destination manpage. Typically,MANLINKSis defined in the.manlinks.mkfiles which are auto-generated by themanlinkstarget. Link city, population: your manpages. π
Highkey obsessed with how straightforward these are.
π SEE ALSO π
build.common.mk(5),build.lib.mk(5)β go read those too, bestie. They're literally right there. iykyk π
π HISTORY π
build.man.mk first appeared in BSDBuild 1.0 β the way that's giving "OG status" π.
And just so you know, BSDBuild is based on the 4.4BSD build system. Periodt. π
Not me writing a whole love letter to a build system π. Hope this helped you understand build.man.mk without falling asleep. Now go process some man pages and slay β¨.
Debian β July 14, 2015 β BUILD.MAN.MK(5) β that's the whole thing. Love ya! π
π¦ where this page comes from
- nixos 26.05: bsdbuild 3.1
- nixpkgs unstable: bsdbuild 3.1
- Copyright (c) 2015 Hypertriton, Inc. <http://www.hypertriton.com/>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms