We offen use @echo "do..."
to letting to print only do...
.
But who can tell me what is the mean of this condition ?
COUNT=$(shell ls | wc -l )
Then
@COUNT=$( shell ls | grep abc | wc -l )
What's the mean of the second?
The $@ and $< are called automatic variables. The variable $@ represents the name of the target and $< represents the first prerequisite required to create the output file.
This special significance of ' $ ' is why you must write ' $$ ' to have the effect of a single dollar sign in a file name or recipe. Variable references can be used in any context: targets, prerequisites, recipes, most directives, and new variable values.
Inside actions we can use: $@ to represent the full target name of the current target $? returns the dependencies that are newer than the current target $* returns the text that corresponds to % in the target $< returns the name of the first dependency $^ returns the names of all the dependencies with space as the ...
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.
It disables printing the command line being executed. Any output from the command itself still appears. See this previous question or see this Makefile reference.
It will hide the output of the commandline when executing. Normally each command, when executing a rule, is printed to the console. This will suppress this output.
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