13.16.避免使用 .error 结构

对于 Makefile 来说, 如果由于某种外部因素 (例如, 用户指定了非法的联编选项组合) 而无法安装 port, 正确的做法是将一个非空白的值设为 IGNORE。这个值会被格式化, 并由 make install 显示给用户。

使用 .error 来达到这个目的是一个常见的错误。 这样做的问题是, 许多与 Ports 一起工作的自动化工具在这种情况下会失败。 最常见的情况是在试图联编 /usr/ports/INDEX 时出现的 (参见运行 make describe)。 然而, 即使是更为琐碎的命令, 如 make maintainer 也会在这种情况下失败。这是不允许的。

例1. 如何避免使用 .error 下面两个 Makefile 片段中的第一个会导致 make index 失败,而第二个则不会。

.error "option is not supported"
IGNORE=option is not supported

最后更新于

FreeBSD 中文社区