Порт должен принимать во внимание переменную CFLAGS. Под этим мы подразумеваем, что порт ни в коем случае не должен устанавливать значения этих переменных, переопределяя имеющиеся значения; вместо этого от должен добавлять те значения, которые нужны, к имеющимся. Это нужно для того, чтобы параметры построения, относящиеся ко всем портам, могут быть заданы глобально.
Если он этого не делает, то, пожалуйста, добавьте в файл Makefile строчку NO_PACKAGE=ignores cflags.
Пример файла Makefile, в котором принимается во внимание переменная CFLAGS, приводится далее. Отметьте употребление символов +=:
CFLAGS+= -Wall -Werror
А вот пример, в котором не учитывается значение переменной CFLAGS:
CFLAGS= -Wall -Werror
В системе FreeBSD переменная CFLAGS определена в файле /etc/make.conf. В первом примере к переменной CFLAGS добавляются дополнительные флаги, при этом сохраняются все определения, данные ранее на уровне системы. Во втором примере всё, что было задано ранее, игнорируется.
Из сторонних файлов Makefile следует удалить флаги оптимизации. Общесистемные флаги оптимизации находятся в системной переменной CFLAGS. Пример из немодифицированного Makefile:
CFLAGS= -O3 -funroll-loops -DHAVE_SOUND
При использовании системных флагов оптимизации Makefile станет похожим на следующий пример:
CFLAGS+= -DHAVE_SOUND
Пред. | Начало | След. |
Работа как с CC, так и CXX | Уровень выше | Библиотеки потоков |