I recently learned how to use automake, and I’m somewhat annoyed that my compile commands went from a bunch of:
g++ -O2 -Wall -c fileName.cpp
To a bunch of:
depbase=`echo src/Unit.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -MT src/Unit.o -MD -MP -MF $depbase.Tpo -c -o src/Unit.o src/Unit.cpp &&\
mv -f $depbase.Tpo $depbase.Po
Is there any way to clean this up? I can usually easily pick out warning messages, but now the wall of text to read though is 3x bigger and much weirder.
I know what my flags are, so making it just says “Compiling xxx.cpp” for each file would be perfect.
As of automake 1.11, you can greatly clean up the output using the silent-rules option. For example:
All that is needed is to add “silent-rules” to the invocation
of AM_INIT_AUTOMAKE in configure.ac, and add the option
–enable-silent-rules when you invoke configure. (There
was much debate about requiring the option to be added
at configure time when this feature was added, and there
is an easy workaround to make it unnecessary.) Note that
with silent-rules enabled, you can still get verbose
output by running ‘make V=1’