Ho un makefile che compila ogni file .c nel mio progetto. Per ogni file, ottengo l'intero comando di compilazione stampato sulla shell, con tutte le opzioni e le flag. Questa è l'uscita esempio per un file:GCC e makefile: mostra solo errori e avvisi
braccio-none-eabi-gcc -c -mcpu = cortex-m3 -O0 -dM -g -gdwarf-2 -mthumb -fomit-frame-pointer - 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/tftp src/sim/sim_configuration.c -o src/sim/sim_configuration.o
Il problema è che i vari avvertimenti perdersi dentro questa confusione di uscite di comando. C'è un modo per solo stampare gli avvisi e gli errori visualizzati (non il comando originale)?
Invece di (o in aggiunta a) usando '@', si può fare 'MAKEFLAGS + = --quiet'. Ciò funzionerà anche per le regole integrate. – Idelic
Sì, ma poi ** ogni ** comando in ** ogni ** regola non verrà echeggiato. – mrucci
Come sempre, è una compensazione, ma gestisce le regole integrate. In generale, rendere esplicite le regole incorporate è una pessima idea, quindi impostare 'MAKEFLAGS' potrebbe essere un metodo migliore. O no, ovviamente. – Idelic