Руководство FreeBSD по созданию портов
Пред. | Глава 8. Файлы `pkg-`*`` | След.

# 8.6. Использование `SUB_FILES` и `SUB_LIST`

Переменные `SUB_FILES` и `SUB_LIST` подходят для задания в файлах порта динамических значений, таких как `PREFIX` установки в `pkg-message`.

В переменной `SUB_FILES` указывается перечень файлов для автоматического изменения. Каждый `file` из перечня `SUB_FILES` обязан иметь соответствующий ``file`.in`, присутствующий в `FILESDIR`. Измененная версия будет создана в `WRKDIR`. Файлы, определенные в качестве значения `USE_RC_SUBR` (или устаревшего `USE_RCORDER`), автоматически добавляются в `SUB_FILES`. Для файлов `pkg-message`, `pkg-install`, `pkg-deinstall` и `pkg-req` устанавливается соответствующая переменная Makefile, указывающая на обработанную версию.

Переменная `SUB_LIST` содержит перечень пар `VAR=VALUE`. В каждом файле из `SUB_FILES` для каждой пары будет произведена замена `%%VAR%%` на `VALUE`. Некоторые общие пары определяются автоматически: `PREFIX`, `LOCALBASE`, `DATADIR`, `DOCSDIR`, `EXAMPLESDIR`. Любая строка, начинающаяся с `@comment`, будет удалена из конечного файла после подстановки переменной .

В следующем примере в `pkg-message` будет сделана замена `%%ARCH%%` на системную архитектуру:

    SUB_FILES=     pkg-message
    SUB_LIST=      ARCH=${ARCH}

Обратите внимание, что в этом примере в `FILESDIR` обязательно существование файла `pkg-message.in`.

Пример хорошего `pkg-message.in`:

    Now it's time to configure this package.
    Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory
    as .putsy.conf and edit it.

Пред. | Начало | След.
Изменение имён файлов `pkg-`*`` | Уровень выше | Тестирование вашего порта

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