# 联机手册

FreeBSD Porter 手册
上一页 | 第5章 　配置 Makefile | 下一页

# 5.9 联机手册

`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， 还可以使用 `MAN`sect`PREFIX` (此处 `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

上一页 | 起始页 | 下一页
`MASTERDIR` (主 port 所在的目录) | 上一级 | Info 文件

若您有关于 FreeBSD ports 系统的问题， 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题， 请致函 <doc@FreeBSD.org>。