12.9. Работа как с `CC`, так и `CXX`
Пред. | Глава 12. Что делать нужно, и что делать нельзя | След.

## 12.9. Работа как с `CC`, так и `CXX`

Порт должен принимать во внимание как переменную `CC`, так и `CXX`. Под этим мы подразумеваем, что порт ни в коем случае не должен устанавливать значения этих переменных, переопределяя имеющиеся значения; вместо этого можно добавлять нужные значения к уже имеющимся. Это связано с тем, что параметры построения, относящиеся ко всем портам, могут быть заданы глобально.

Если порты не учитывают значения этих переменных, добавьте строку `NO_PACKAGE=ignores either cc or cxx` в файл `Makefile`.

Далее следует пример файла `Makefile`, использующего как переменную `CC`, так и `CXX`. Обратите внимание на использование символов `?=`:

CC?= gcc
CXX?= g++

Вот пример, в котором не принимаются во внимание ни переменная `CC`, ни `CXX`:

CC= gcc
CXX= g++

Обе переменные `CC` и `CXX` могут быть определены в системах FreeBSD в файле `/etc/make.conf`. В первом примере задаётся значение, если оно ранее не было определено в `/etc/make.conf`, что сохраняет любые определения, данные на уровне системы в целом. Второй пример переопределяет всё, что было задано ранее.

Пред. | Наверх | След.
12.8. Поступайте разумно | Начало | 12.10. Использование `CFLAGS`

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

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