22 апр. 2009 г.

FreeBSD: Тонкая настройка опций сборки отдельных портов в make.conf

Вот уж правду говорят: «Век живи — век учись!» В журнале «Хакер» нашел интереснейшую статейку: «Первый день во FreeBSD». И хотя во FreeBSD я не первый день, о следующей полезнейшей возможности я не знал.
Итак, оказывается, в /etc/make.conf помимо общих для всех портов опций, можно задавать опции сборки отдельно для каждого порта! Для этого нужно обрамить опции в условия:
.if ${.CURDIR:N*/ports/multimedia/mplayer} == ""
WITH_OPTIMIZED_CFLAGS=yes
WITHOUT_RUNTIME_CPUDETECTION=yes
WITHOUT_GUI=yes
NOPORTDOCS=yes
WITH_DVD=yes
WITH_LIBDVDREAD=yes
WITH_LIBDVDNAV=yes
.endif

Эта запись означает, что если считывающий ее Makefile находится в заданном каталоге CURDIR, то указанная переменная считывается как переменная окружения и используется при сборке порта. Так как /etc/make.conf считывается при сборке каждого порта, то указание опций в make.conf аналогично тому, как если бы они были указаны при компиляции.

P.S. Помнится, наличием подобной фичи любили хвалиться фанаты Gentoo Linux. Так вот, у нас, BSD-шников, такое тоже имеется!

Комментариев нет:

Отправить комментарий