Next: Standard and generic ways to silence make, Up: Silencing make
[Contents][Index]
Normally, when executing the set of rules associated with a target,
make
prints each rule before it is executed. This behaviour,
while having been in place for a long time, and being even mandated by
the POSIX standard, starkly violates the “silence is golden” UNIX
principle7:
When a program has nothing interesting or surprising to say, it should say nothing. Well-behaved Unix programs do their jobs unobtrusively, with a minimum of fuss and bother. Silence is golden.
In fact, while such verbosity of make
can theoretically be
useful to track bugs and understand reasons of failures right away, it
can also hide warning and error messages from make
-invoked
tools, drowning them in a flood of uninteresting and seldom useful
messages, and thus allowing them to go easily undetected.
This problem can be very annoying, especially for developers, who usually
know quite well what’s going on behind the scenes, and for whom the
verbose output from make
ends up being mostly noise that hampers
the easy detection of potentially important warning messages.