MAN[1-9LN] 这些变量, 会自动地将联机手册加到 pkg-plist (这也意味着 不能 在 pkg-plist 中列出联机手册 ── 参见 PLIST 的生成 来了解更多细节)。 此外, 这也会让安装阶段自动地根据在 /etc/make.conf 中所作的 NO_MANCOMPRESS 设置来自动对联机手册文件执行压缩或解压缩操作。
如果 port 尝试通过使用符号连接或硬连接将联机手册安装为多个名字, 就必须使用 MLINKS 变量来予以明示。 由 port 创建的连接, 将由 bsd.port.mk 删除和重建, 以确认它们指向了正确的文件。 任何在 MLINKS 中列出的文件都不应在 pkg-plist 中再出现。
要指定是否在安装时对联机手册进行压缩, 可以使用 MANCOMPRESSED 变量。 这一变量可以取三种值, yes、 no 和 maybe 之一。 yes 表示联机手册已经以压缩的形式安装, no 表示还没有, 而 maybe 则表示所安装的软件会尊重 NO_MANCOMPRESS 的设置值, 因此 bsd.port.mk 不需要特别做什么事情。
如果设置了 USE_IMAKE 而未定义 NO_INSTALL_MANPAGES, MANCOMPRESSED 会自动设为 yes, 反之则是 no。 除非默认值不合适, 否则就不需要在 port 中明确地加以改变。
如果 port 将联机手册放到了 MANPREFIX 之外的其它目录, 则应使用 MANPREFIX 来加以设置。 此外, 如果只有某些部分的联机手册会安装到不标准的位置, 例如某些 perl 模块的 port, 还可以使用 MANsectPREFIX (此处 sect 是 1-9、 L 或 N 之一) 来指定。
如果您的联机手册需要装入专用于某一语言专用的子目录, 需要将 MANLANG 设为那种语言的名字。 此变量的默认值是 "" (也就是只有英语)。
下面是一个综合的例子。
MAN1= foo.1 MAN3= bar.3 MAN4= baz.4 MLINKS= foo.1 alt-name.8 MANLANG= "" ja MAN3PREFIX= ${PREFIX}/share/foobar MANCOMPRESSED= yes
这表示 port 会安装六个文件;
${MANPREFIX}/man/man1/foo.1.gz ${MANPREFIX}/man/ja/man1/foo.1.gz ${PREFIX}/share/foobar/man/man3/bar.3.gz ${PREFIX}/share/foobar/man/ja/man3/bar.3.gz ${MANPREFIX}/man/man4/baz.4.gz ${MANPREFIX}/man/ja/man4/baz.4.gz
此外, ${MANPREFIX}/man/man8/alt-name.8.gz 可能会通过您的 port 安装, 也可能不会。 无论如何, 都会创建一个符号连接, 把 foo(1) 和 alt-name(8) 联机手册连起来。
假如只有部分联机手册是翻译过的, 则可以使用一些根据 MANLANG 内容动态生成的变量:
MANLANG= "" de ja MAN1= foo.1 MAN1_EN= bar.1 MAN3_DE= baz.3
这相当于下列文件:
${MANPREFIX}/man/man1/foo.1.gz ${MANPREFIX}/man/de/man1/foo.1.gz ${MANPREFIX}/man/ja/man1/foo.1.gz ${MANPREFIX}/man/man1/bar.1.gz ${MANPREFIX}/man/de/man3/baz.3.gz