我有一個編譯我的項目中的每個.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