FreeBSD Porter 手册
上一页 | 第12章 　该做什么和不该做什么 | 下一页

# 12.16 避免使用 `.error` 结构

在 `Makefile` 中给出信号， 表示由于某种外界因素 (例如， 用户指定了无效的联编选项) 而无法安装的方法是将变量 `IGNORE` 设为一非空值。 这个值将被格式化， 并在用户执行 `make install` 是给出提示。

用 `.error` 实现这一目的是一种常见的误用。 这样做的问题是， 许多在 ports 树上运行的自动化工具会因此而失败。 最常见的情况见于联编 `/usr/ports/INDEX` 的过程 (参见 第 9.1 节)。 然而， 即使十分普通的命令， 例如 `make maintainer`， 在这种情况下也会失败。 这是不可接受的。

例 12-1. 怎样避免使用 `.error`

考虑有人在 `make.conf` 中设置了

    USE_POINTYHAT=yes

的情形。 接下来的例子中， 第一个 `Makefile` 中的问题将导致 `make index` 失败， 而第二个则不会：

    .if USE_POINTYHAT
    .error "POINTYHAT is not supported"
    .endif

    .if USE_POINTYHAT
    IGNORE=POINTYHAT is not supported
    .endif

上一页 | 起始页 | 下一页
使用 `DEPRECATED` 或 `EXPIRATION_DATE` 表示某个 port 将被删除 | 上一级 | 对于 `sysctl` 的使用

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