在 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
若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <