我有一个编译我的项目中的每个.c文件的生成文件。对于每个文件,我都将整个编译命令打印到shell中,并带有所有选项和标志。这是针对一个文件的输出例子:GCC和makefile:只显示错误和警告
臂-NONE-EABI-GCC -c -mcpu =皮质-立方米-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./ src/sim/sim_configuration.c -o src/sim/sim_configuration.o
问题在于,在整个命令输出乱七八糟的各种警告消失了。有没有办法只有打印出现的警告和错误(不是原始命令)?
代替(或补充)使用'@',你可以做'MAKEFLAGS + = --quiet'。这也适用于内置规则。 – Idelic 2012-08-14 19:22:07
是的,但是** **每条**规则中的**每个**命令都不会被回显。 – mrucci 2012-08-14 20:20:15
一如既往,这是一种折衷,但它处理内置的规则。一般来说,明确制定内置规则是一个非常糟糕的主意,因此设置MAKEFLAGS可能是更好的方法。当然,不是。 – Idelic 2012-08-14 22:36:08