This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

12.16. 避免使用 .error 结构

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

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

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.