How to NOT print in the output a comment in a makefile

knocte picture knocte · Aug 21, 2013 · Viewed 8.4k times · Source

I have a makefile that is like this:

install:
    @somecommand

    #some explanation for next command
    @lastcommand

What happens is that the comment #some explanation for next command is being printed when I execute make install. How can I make a comment in a makefile that doesn't get printed? Maybe I'm looking for the unix equivalent for the windowsy echo off?

(Effectively, the opposite of this question.)

Answer

Jonathan Leffler picture Jonathan Leffler · Aug 21, 2013

Don't indent the comment — when the line starts with a tab, it is a command that is executed by the shell (and the shell treats the comment as a comment).

Proof of concept (ss.mk):

all:
    echo "This is the first command"
    # This comment is echoed

# This comment is not echoed
    echo "This is the second command"

Sample output:

$ make -f ss.mk
echo "This is the first command"
This is the first command
# This comment is echoed
echo "This is the second command"
This is the second command
$