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.)
If you want to inhibit the display of commands during a particular make run, you can use the -s option. If you want to inhibit the display of all command lines in every run, add the special target . SILENT to your makefile .
The variable $@ represents the name of the target and $< represents the first prerequisite required to create the output file.
The ' @ ' is discarded before the line is passed to the shell. Typically you would use this for a command whose only effect is to print something, such as an echo command to indicate progress through the makefile: @echo About to make distribution files.
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 $
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With