Правильным способом подать сигнал для Makefile
о том, что порт не может быть установлен из-за какого-то внешнего
фактора (например, пользователь указал недопустимую комбинацию
опций построения), является установка непустого значения для
IGNORE
. Это значение будет сформатировано и
показано пользователю во время make install
.
Использование для этих целей .error
является
распространенной ошибкой. Проблема в том, что в этой ситуации
будут повреждены многие инструменты автоматизации, работающие с
деревом портов. Наибольшим образом это распространено при попытке
построить /usr/ports/INDEX
(смотрите Раздел 9.1, «Запуск make describe
»). Тем не менее, даже более простые команды,
такие как make maintainer
, в этом случае также
вернут ошибку. Это не является приемлемым.
.error
Предположим, что кто-то поместил строку
USE_POINTYHAT=yes
в make.conf
. Первый из последующих двух
вариантов строк файла Makefile
приведёт к
неудачному завершению работы make index
, а
второй - нет:
.if USE_POINTYHAT .error "POINTYHAT is not supported" .endif
.if USE_POINTYHAT IGNORE=POINTYHAT is not supported .endif
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.