私のプロジェクトのすべての.cファイルをコンパイルするmakefileがあります。それぞれのファイルについて、コンパイルコマンド全体がシェルに出力され、すべてのオプションとフラグが付きます。これは、1つのファイルの出力例である:GCCとmakefile:エラーと警告のみを表示
アームなし、EABI-GCC -C -mcpu =皮質-M3 -O0 -dM -g -gdwarf-2 -mthumb -fomitフレームポインタ - fverbose-asm -Wa、-ahlms = src/sim/sim_configuration.lst -include ./lib/stm32core/stm32f2xx_conf.h -I。 -I./lib/ARMStandardLibrary -I./lib/LwIP -I./lib/LwIP/src/include -I./lib/LwIP/src/include -I./lib/LwIP/src/include/ipv4 -I./lib/LwIP/src/include/ipv6 -I./lib/FatFS -I./lib/stm32core -I./src -I./src/sim -I./src/sd -I./
問題は、コマンド出力のこの混乱の中でさまざまな警告が失われることです。 にはの警告とエラーが表示されます(ではなく、元のコマンドの)?
の代わりに(または追加の中)を '@'を使用して、あなたが行うことができます'MAKEFLAGS + = --quiet'。これは組込みルールでも機能します。 – Idelic
はい、しかし** **すべての**ルールのすべての**コマンドはエコーされません。 – mrucci
いつものように、それはトレードオフですが、組み込みルールを処理します。一般に、組み込みルールを明示的にすることは非常に悪い考えです。したがって、 'MAKEFLAGS'を設定する方が良い方法です。もちろん、そうではありません。 – Idelic