12.16. 避免使用 `.error` 结构
上一页 | 第 12 章 该做什么和不该做什么 | 下一页

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

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

用 `.error` 实现这一目的是一种常见的误用。 这样做的问题是， 许多在 ports 树上运行的自动化工具会因此而失败。 最常见的情况见于联编 `/usr/ports/INDEX` 的过程 (参见 第 9.1 节 “运行 `make describe`”)。 然而， 即使十分普通的命令， 例如 `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

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

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.