在 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 系统的问题, 请发送电子邮件至 <