15.12. PREFIX

Попытайтесь сделать так, чтобы установка вашего порта осуществлялась относительно каталога PREFIX. (Значение этой переменной будет установлено в LOCALBASE (по умолчанию /usr/local), если только не заданы переменные USE_X_PREFIX или USE_IMAKE, в случае чего он будет принят равным X11BASE (по умолчанию /usr/X11R6).)

Отсутствие явного указания /usr/local или /usr/X11R6 нигде в исходном коде сделает порт гораздо более гибким и способным удовлетворить потребности других серверов. Для портов, которые используют X, это происходит автоматически; в противном случае зачастую это может быть сделано простой заменой строк /usr/local (или /usr/X11R6 для портов X, не использующих imake) в различных скриптах/файлах Makefile порта на чтение PREFIX, так как эта переменная автоматически передается далее на каждом этапе построения и установки.

Не задавайте переменную USE_X_PREFIX до тех пор, пока она на самом деле не понадобится для порта (то есть он будет скомпонован с библиотеками X или нужно будет обращаться к файлам из X11BASE).

Переменная PREFIX может быть переназначена в вашем файле Makefile или в окружении пользователя. Однако строго не рекомендуется отдельным портам устанавливать эту переменную явно в файле Makefiles.

Кроме того, обратитесь к программам/файлам из других портов с переменными, перечисленными выше, без указания явных маршрутов. Например, если ваш порт требует, чтобы макро PAGER являлся полным путем утилиты less, используйте флаг компилятора:

    -DPAGER=\"${PREFIX}/bin/less\"
       
или
    -DPAGER=\"${LOCALBASE}/bin/less\"
       
если это порт X, вместо того, чтобы задавать -DPAGER=\"/usr/local/bin/less\". Этот способ имеет больше шансов на работу, если системный администратор переместил все дерево `/usr/local' куда-то в другое место.

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@freebsd.org>.
По вопросам связанным с этом документацией, пишите по адресу <doc@freebsd.org>.