Reputation: 17919
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.)
Upvotes: 55
Views: 14120
Reputation: 322
just use @
at the begin of the line.
all:
@echo "test 1"
@# echo "test 2"
echo "test 3"
$ make
test 1
echo "test 3"
test 3
Upvotes: 7
Reputation: 753455
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
$
Upvotes: 91