Более простой способ
Похоже, вы можете вызвать
gcc -c ... -Werror ... -Wno-error ...
без жалоб GCC (GCC 4.7.1). Таким образом, вы можете добавить -Wno-error
в CFLAGS, настроенные в другом месте в том make-файле, где вам это нужно. Если вы используете GNU make
, в один make-файл вы можете добавить:
CFLAGS += -Wno-error
возможно, только для одной цели, которая в этом нуждается.
Более сложный путь
В противном случае вам нужна система для сборки CFLAGS из компонентов. Что у меня есть в make-файле, который я использую для тестирования ответов на вопросы по SO:
WFLAG1 = -Wall
WFLAG2 = -Wextra
WFLAG3 = -Wmissing-prototypes
WFLAG4 = -Wstrict-prototypes
WFLAG5 = -Wold-style-definition
WFLAG6 =
WFLAGS = ${WFLAG1} ${WFLAG2} ${WFLAG3} ${WFLAG4} ${WFLAG5} ${WFLAG6}
SFLAGS = -std=c99
GFLAGS = -g
OFLAGS = -O3
UFLAGS =
IFLAG1 = -I${HOME}/inc
IFLAGS = # ${IFLAG1}
CFLAGS = ${OFLAGS} ${GFLAGS} ${IFLAGS} ${SFLAGS} ${WFLAGS} ${UFLAGS}
Суть в том, что каждый флажок регулируется независимо; Я могу управлять флагами предупреждения, установив любой из ${WFLAG1}
в ${WFLAG6}
, или установив ${WFLAGS}
в командной строке, или (действительно) установив ${CFLAGS}
. Но потому что каждый из них настраивается индивидуально и может относительно легко настраивать предупреждения (основная проблема заключается в том, чтобы определить, какой WFLAGn нуждается в затирании).
UFLAGS — это «пользовательские флаги», которые устанавливаются только в командной строке; Я могу добавить больше флагов в свою командную строку, установив ее.
Этот способ «сложнее», потому что он требует от вас изменения центральной части вашей системы make-файлов, где вы устанавливаете CFLAGS. Кроме того, меньше шансов, что ваши коллеги поймут это с первого взгляда.
person
Jonathan Leffler
schedule
26.06.2013
CFLAGS
? Вызывает ли он другие make-файлы? - person Beta   schedule 26.06.2013