[CMake] object file target

Juan E. Sanchez Juan.Sanchez at amd.com
Mon Jul 30 22:54:38 EDT 2007


Hi Brandon,

By default, gnu make will always print the command to execute, as well 
as its output.  Typically, the command to be executed is muted by 
prefixing an "@".  For example:

         @echo "Built target PerlLib"

As for all of the other commands, apparently they used this trick:
# Suppress display of executed commands.
$(VERBOSE).SILENT:

where .SILENT is an actual command to treat every command as if it had 
an "@" before it.

If VERBOSE is not defined, the .SILENT executes normally.  Otherwise 
setting it to 1 results in a target being created named

1.SILENT

which is a phony target and the .SILENT directive is never executed.

Necessarily, all of the cmake commands must suppress much of their 
output, unless the environment variable VERBOSE is defined.

Regards,

Juan

On Mon, 30 Jul 2007, Brandon Van Every wrote:

> On 7/30/07, Bill Hoffman <bill.hoffman at kitware.com> wrote:
>> Brandon Van Every wrote:
>>> On 7/30/07, Juan Sanchez <Juan.Sanchez at amd.com> wrote:
>>>
>>>> I didn't think to look on the make man page, since almost every gnu make
>>>> system I dealt with had the verbose information by default.
>>>>
>>>> Doing a "man make" reveals nothing about "VERBOSE=1" since that is
>>>> specific to cmake,
>>>>
>>>
>>> No I'm googling and it's not specific to CMake.  Damned if I can find
>>> documentation on it though.
>>>
>>>
>> Although other systems may use make VERBOSE=1, this is certainly a CMake
>> feature that was
>> put into the makefiles by the CMake developers....
>
> Shows my ignorance of Make then.  Setting VERBOSE=1 does appear to be
> a common convention at any rate.  Was there some previous era where
> almost everything in computerdom was done by passing environment
> variables, and people didn't use command line flags so much?  Maybe
> it's an anachronism, and some ancient manpage somewhere *does*
> document a Make that expects to be controlled that way.
>
>
> Cheers,
> Brandon Van Every
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
>
>

Juan Sanchez
Juan.Sanchez at amd.com
800-538-8450 Ext. 54395
512-602-4395




More information about the CMake mailing list