[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 12 Jan 2007 11:28:24 -0600
Icedove 188.8.131.52 (X11/20061220)
I'm working on moving an existing project to use autotools. One of the
issues that I've encountered is that the build process is very verbose.
Due to factors outside my control, the CPPFLAGS used for compiling contain
a very long list of include flags. This results in the compile command
being about 1100 chars long. Further, as the libtool invocation and the
underlying g++ invocation are both printed, the output for compiling each
object file is 2200 chars. On an 80-char-wide terminal, that's 28 lines.
This makes it *very* easy to miss potential important compiler warnings
and such in all the noise.
I'd like be able to reduce the output to just the target of the make rule
for developers. Something like:
Is there some way to do this with automake?
Further, I'd like to control the behavior with a configure flag, so
developers get the reduced output making warnings and other issues more
apparent while users by default get the verbose output so any
platform-specific issues or configure errors are more apparent.
I know how to turn off the echoing of the underlying command from the
libtool wrapper (the --silent option). I can control that from the
configure script. The problem is how to control the output of make. I
can pass the '-s' option to make, but that can't be controlled from the
configure script and results in no output at all.
In hand-rolled build systems, I've controlled this output by prefixing the
commands in each rule with a variable such as $(PREFIX). To get the
verbose output: PREFIX= . To get reduced output: PREFIX="@echo $@; ".
Any suggestions as to how I could achieve the same type of thing in
automake would be greatly appreciated.
Jason Kraftcheck <=