Настройка опций компиляции FreeBSD в make.conf


В файле /etc/make.conf можно указать разные опции, которые влияют на процесс
сборки пакетов. Мой (сокращенный) файл make.conf выглядит примерно так:

#CFLAGS=-O2 -pipe
CPUTYPE?=native
NO_CPU_FLAGS=false

NO_BLUETOOTH=yes
NO_GAMES=yes
NO_INET6=yes
NO_SENDMAIL=yes

WITHOUT_X11=yes
WITHOUT_IPV6=yes

.if ${.CURDIR} == /usr/ports/ftp/pure-ftpd
WITH_LANG=russian
.endif

.if ${.CURDIR} == /usr/ports/mail/exim
WITH_MYSQL=yes
WITH_DEFAULT_CHARSET?=koi8-r
WITHOUT_IPV6=yes
.endif

.if ${.CURDIR:M*/ports/databases/mysql51*}
WITH_COLLATION=utf8_unicode_ci
WITH_CHARSET=utf8
.endif

.if ${.CURDIR} == /usr/ports/www/webalizer
WEBALIZER_LANG=english
WITH_GEOIP=yes
.endif

.if ${.CURDIR} == /usr/ports/security/sshguard
SSHGUARDFW=ipfw
.endif

Хотелось бы обратить внимание на конструкцию CPUTYPE?=native в самом начале
файла. Эта конструкция передается в опции компилятора и говорит о том, что
компилятор должен сам подобрать оптимальные флаги, поддерживаемые процессором.
В результате бинарный код получается более эффективным, но, в то же время -
непереносимым в случае какого-нибудь ЧП или замены процессора.