Май 242011
 

MAKE.CONF(5) FreeBSD File Formats Manual MAKE.CONF(5)

ИМЯ

make.conf
— информация для построения системы

ОПИСАНИЕ

Файл make.conf содержит общесистемные параметры, которые будут применяться к каждому построению с использованием make(1) и стандартного файла sys.mk. Это достигается следующим образом: make(1) обрабатывает системный Makefile sys.mk после любого другого файла по умолчанию, а sys.mk включает make.conf.

Файл make.conf использует стандартный синтаксис Makefile. Однако, make.conf не должен содержать никаких зависимостей по отношению к make(1). Наоборот, make.conf задает make(1) переменные, которые управляют действием других Makefile’s.

По умолчанию make.conf располагается в /etc/make.conf, хотя альтернативное местоположение может быть указано make(1) переменной __MAKE_CONF. Возможно, вам придется переопределить расположение make.conf, если общесистемные настройки не подходят для конкретной сборки. Например, настройка __MAKE_CONF на /dev/null эффективно сбрасывает контроль всех сборок к действию по умолчанию.

Главная цель make.conf заключается в контролировании компилирования исходников FreeBSD, документации и портированных приложений, которые обычно расположены в /usr/src, /usr/doc и /usr/ports. Как правило, системный администратор создает make.conf, когда значения некоторых управляемых переменных должны быть изменены с их значения по умолчанию.

Процедура системной сборки происходит в четырех широких областях: мир, ядро, документация и порты. Переменные, установленные в make.conf, могут быть применимы в одной, двух или во всех четырех этих областях. Кроме того, управляющие переменные могут быть заданы через ключ -D при вызове make(1) или в environ(7).

Ниже перечислены короткие пояснения для каждой переменной, которые вы можете указывать во время сборки. Значения, присвоенные переменным типа bool, игнорируются; само по себе обозначение этой переменной содержит в себе значение.

ALWAYS_CHECK_MAKE (bool)

Указывает make(1) проверять наличие самого главного Makefile в дереве исходников (обычно в /usr/src). Как правило, она задается только при сборке мира и сборки целей мира при обновлении с более ранних версий FreeBSD.

CFLAGS (str)

Управление настройкой копилятора, когда компилируется C код. Уровни оптимизации, отличные от -O и -O2, не поддерживаются. BDECFLAGS, предложенные Bruce Evans для разработки и тестирования, используются, чтобы задать настройки для gcc(1), они могут быть использованы, если задать так:

CFLAGS+=${BDECFLAGS}

CPUTYPE (str)

Контролирует, какой процессор должен быть целевым для генерируемого кода. Этим параметром контролируется процессорозависимая оптимизация в определенном коде (в настоящее время только OpenSSL), также изменяются значения CFLAGS и COPTFLAGS, содержащие соответствующие директивы для gcc(1). Автоматическое переопределние CFLAGS и COPTFLAGS можно запретить, используя соответственно переменные NO_CPU_CFLAGS и NO_CPU_COPTFLAGS. Обратитесь к /usr/share/examples/etc/make.conf для ознакомления с допустимыми опциями CPUTYPE.

CVS_UPDATE (bool)

Укажите, чтобы использовать cvs(1) при обновлении ваших портов командой «make update».

CXXFLAGS (str)

Контролирует настройки компилятора, когда компилируется C++ код. CXXFLAGS изначально установлен в значение CFLAGS. Если вы хотите добавить значения к CXXFLAGS, используйте «+=» вместо «=».

DOCSUPFILE (str)

supfile для документации, который будет использользован по команде «make update». По умолчанию располагается здесь /usr/share/examples/cvsup/doc-supfile.

INSTALL (str)

Команда установки по умолчанию. Для установки только файлов, для которых цель отличается или не существует, используйте:

INSTALL=»install -C»

Имейте ввиду, что некоторые Makefile (в том числе /usr/share/mk) могут быть содержать жесткие опции для команды установки.

LOCAL_DIRS (str)

Можно задать список директорий, которые будут прорабатываться, когда выполняется сборка в /usr/src.

MAKE_SHELL (str)

Контролирует shell внутри make(1) для выполнения команд скриптов Makefile’s. На текущий момент поддерживаются sh(1), ksh(1) и csh(1).

MAKE_SHELL?=sh

MTREE_FOLLOWS_SYMLINKS (str)

Задайте этот параметр в «-L», чтобы mtree(8) следовал символическим ссылкам.

NO_CPU_CFLAGS (str)

Установка этой переменной будет препятствовать автоматическому добавлению специфичных для процессора флагов компилятора CFLAGS.

NO_CPU_COPTFLAGS (str)

Установка этой переменной будет препятствовать автоматическому добавлению специфичных для процессора флагов компилятора COPTFLAGS.

NO_DOCUPDATE (bool)

Задайте, если не хотите, чтобы дерево документов обновлялось по команде «make update».

NO_PORTSUPDATE (bool)

Задайте, если не хотите, чтобы дерево портов обновлялось по команде «make update».

PORTSSUPFILE (str)

Указывает supfile портов, когда используется команда «make update». По умолчанию это файл /usr/share/examples/cvsup/ports-supfile.

SUP (str)

Указывает местоположение csup(1) или cvsup(1) при выполнении команды «make update».

SUPFILE (str)

Первый файл supfile, когда выполняется команда «make update». По умолчанию это файл /usr/share/examples/cvsup/standard-supfile.

SUPFILE1 (str)

Второй файл supfile, когда выполняется команда «make update». По умолчанию это файл /usr/share/examples/cvsup/secure-supfile.

SUPFILE2 (str)

Третий файл supfile, когда выполняется команда «make update». По умолчанию это файл /usr/share/examples/cvsup/secure-supfile.

SUPFLAGS (str)

Флаги для команды sup(1), когда выполняется команда «make update». По умолчанию «-g -L 2».

SUPHOST (str)

hostname sup-сервера, используемый, когда выполняется команда «make update».

SUP_UPDATE (bool)

Задайте для использования cvsup(1), чтобы обновить ваши порты при выполнении команды «make update».

СБОРКА ЯДРА

Ниже представлен список параметров, которые применяются только во время сборки ядра:

BOOTWAIT (int)

Задайте время ожидания нажатия клавиши (миллисекунды), по истечении которого загрузится ядро по умолчанию. Нажатие клавишь принимается BIOS’ом, до загрузки с диска, что позволяет пользователю выбрать произвольную загрузку, даже если время установлено в 0.

COPTFLAGS (str)

Управляет настройками компилятора, когда собирается ядро. Оптимизация уровней выше [-O (-O2, …)] не гарантирует правильной работы.

KERNCONF (str)

Указывает какие конфигурации ядра должны быть собраны командой «${MAKE} buildkernel» и инсталлированы командой «${MAKE} installkernel». Например:

KERNCONF=MINE DEBUG GENERIC OTHERMACHINE

соберет ядра, заданные конфигурационными файлами MINE, DEBUG, GENERIC и OTHERMACHINE; и проинсталлирует ядро, заданное конфигурационным файлом MINE. По молчанию это GENERIC.

MODULES_OVERRIDE (str)

Укажите список модулей, которые вы хотите построить, заместо построения всех модулей.

NO_KERNELCONFIG (bool)

Задайте этот параметр, чтобы не запускалась команда «${MAKE} depend» через команду «${MAKE} buildkernel».

NO_MODULES (bool)

Задайте, чтобы вместе с ядром не собирались модули.

PORTS_MODULES

Задайте список портов, которые вы хотите перестраивать каждый раз, когда собираете ядро.

WITHOUT_MODULES (str)

Задайте список модулей, которые вы не хотите собирать. Внимательно: этот параметр применяется после MODULES_OVERRIDE.

СБОРКА МИРА<

Ниже представлен список параметров, которые применяются во время сборки мира:

BOOT_COMCONSOLE_PORT (str)

Адрес порта, для использования консоли, если загрузочные блоки были настроены на использование последовательной консоли вместо клавиатуры/видео карты.

BOOT_COMCONSOLE_SPEED (int)

Скорость передачи данных, при использовании консоли, если загрузочные блоки были настроены на использование последовательной консоли вместо клавиатуры/видео карты.

BOOT_PXELDR_ALWAYS_SERIAL (bool)

Компилирование внутрь кода pxeboot(8), что заставляет использовать последовательную консоль. Такой подход аналогичен использованию ключа -h в boot(8) блоках.

BOOT_PXELDR_PROBE_KEYBOARD (bool)

Компилирование внутрь кода pxeboot(8), что позволяет распознавать клавиатуру. Если ни одна консоль не найдена, то загружается с двойной конфигурационной консолью. Такой подход аналогичен использованию ключа -D в boot(8) блоках.

ENABLE_SUID_K5SU (bool)

Задайте это, если вы хотите использовать утилиты ksu. В противном случае, мир будет собран без задания set-user-ID бита.

ENABLE_SUID_NEWGRP (bool)

Задайте это для установки newgrp(1) с битом set-user-ID. В противном случае, newgrp(1) не сможет изменять группы пользователей.

ENABLE_SUID_SSH (bool)

Задайте это для установки ssh(1) с включенным битом set-user-ID.

LOADER_TFTP_SUPPORT (bool)

По умолчанию pxeboot(8) загрузчик получает доступ к ядру через NFS. Задайте эту опцию и перекомпилируйте /usr/src/sys/boot, чтобы получить доступ к Ядру через TFTP. Это позволяет pxeboot(8) загружать пользовательским BOOTP бездисковое ядро, которое все еще монтирует серверный /, вместо того, чтобы загружать серверное ядро.

LOADER_FIREWIRE_SUPPORT (bool)

Задайте эту опцию и перекомпилируйте /usr/src/sys/boot/i386, чтобы добавить dcons(4) консольный драйвер к loader(8) и разрешить доступ поверх FireWire(IEEE1394), используя dconschat(8). На текущий момент, поддерживаются только i386 и amd64.

MODULES_WITH_WORLD (bool)

Задайте модули, собираемые с системой, заместо ядра.

NO_CLEAN (bool)

Задайте этот параметр для запрета очистки во время команды «make buildworld». Вы не должны использовать этот параметр, пока вы не понимается что он значит.

NO_CLEANDIR (bool)

Задайте этот параметр для запуска «${MAKE} clean» вместо «${MAKE} cleandir».

NO_MANCOMPRESS (bool)

manual pages будут собраны без сжатия.

NO_SHARE (bool)

Поддиректория share не будет собрана.

NO_SHARED (bool)

Задайте этот параметр, чтобы /bin и /sbin собрались статически слинкованными, что может быть плохо. Если задан, то все утилиты, которые используют bsd.prog.mk должны быть слинкованы статично.

PPP_NO_NAT (bool)

ppp(8) соберется без поддержки network address translation (NAT).

PPP_NO_NETGRAPH (bool)

ppp(8) соберется без поддержки Netgraph.

PPP_NO_RADIUS (bool)

ppp(8) соберется без поддержки RADIUS.

PPP_NO_SUID (bool)

Задайте этот параметр, чтобы запретить инсталлировать ppp(8) в качестве set-user-ID root программы.

SENDMAIL_*** …

Отключу сборку Sendmail в src.conf, поэту все параметры, связанные с Sendmail не рассматриваю вообще.

TOP_TABLE_SIZE (int)

top(1) использует хеш-таблицы для имен пользователей. Размер этого хеша может быть настройн в соответствии с числом локальных пользователей. Размер таблицы должно быть простое число в два раза больше количества строк в /etc/passwd. Значение по умолчанию 20011.

WANT_FORCE_OPTIMIZATION_DOWNGRADE (int)

Если параметр задан, то системный компилятор будет собирать с оптимизацией ниже на один уровень. Известно, что gcc(1) -O2 и выше могут вызвать ошибки компиляции.

СБОРКА ДОКУМЕНТАЦИИ

Ниже представлен список параметров, которые применяются во время сборки документации:

DISTDIR (str)

Указывает, где располагаются файлы дистрибутивов. Обычно это папка distfiles в PORTSDIR.

DOC_LANG (str)

Список языков и кодировок, которые собираются и устанавливаются.

PRINTERDEVICE (str)

Формат по умолчанию для документации системы, зависит от вашего принтера. Может быть задан в «ascii» для простых принтеров, или «ps» для postscript или графических принтеров с ghostscript фильтрами, или и то и то.

ФАЙЛЫ

/etc/make.conf
/usr/doc/Makefile
/usr/share/examples/etc/make.conf
/usr/share/mk/sys.mk
/usr/src/Makefile
/usr/src/Makefile.inc1

SEE ALSO

gcc(1), install(1), make(1), src.conf(5), environ(7), ports(7), sendmail(8)

ИСТОРИЯ

make.conf появилься где-то перед FreeBSD 4.0

АВТОРЫ

Это руководство было написано Mike W. Meyer .

BUGS

Параметры, указанные в этом руководстве могут быть устаревшими по отношению к реально доступным параметрам, использующимся на текущий момент в make.conf. Пожалуйста ознакомьтесь с /usr/share/examples/etc/make.conf, в котором перечислены доступные на данный момент параметры.

CAVEATS

Обратите внимание, что MAKEOBJDIRPREFIX и MAKEOBJDIR — переменные среды, и их нельзя определять в make.conf.

FreeBSD 7.2 September 5, 2006 FreeBSD 7.2

P.S.За перевод спасибо Баранову Алексею

  2 комментария to “Перевод man make.conf(5) FreeBSD.”

  1. […] /etc/make.conf  # Основная цель make.conf это контроль компиляции, […]

  2. […] мой /etc/make.conf, описывать опции не буду. Полный список параметров . Добавим в конфиг […]

 Leave a Reply

(required)

(required)

39 Запросов к базе. 0,381 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.198.210.67