より簡単な方法
召喚できるらしい
gcc -c ... -Werror ... -Wno-error ...
GCCに文句を言わせることなく(GCC 4.7.1)。-Wno-error
そのため、1 つの makefile の必要な場所に CFLAGS の設定を追加することができます。GNU を使用している場合make
は、1 つの makefile に次を追加できます。
CFLAGS += -Wno-error
おそらくそれを必要とする単一のターゲットのためだけです。
難しい方法
それ以外の場合は、コンポーネントから CFLAGS を構築するためのシステムが必要です。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}
設定するか、(実際に) を設定することで、警告フラグを制御できます。ただし、それぞれが個別に調整可能であり、警告を比較的簡単に調整できるためです (主な問題は、どの WFLAGn を上書きする必要があるかを判断することです)。${WFLAGS}
${CFLAGS}
UFLAGS は「ユーザー フラグ」であり、コマンド ラインでのみ設定されます。フラグを設定することで、コマンド ラインにフラグを追加できます。
CFLAGS を設定する makefile システムの中心部分を変更する必要があるため、この方法は「より困難」です。また、同僚に一目で理解される可能性も低くなります。