-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEchoing.html
More file actions
48 lines (40 loc) · 2.07 KB
/
Echoing.html
File metadata and controls
48 lines (40 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<html lang="en">
<head>
<title>GNU `make'</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU `make'">
<meta name="generator" content="makeinfo 4.3">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
</head>
<body>
<div class="node">
<p>
Node:<a name="Echoing">Echoing</a>,
Next:<a rel="next" accesskey="n" href="Execution.html#Execution">Execution</a>,
Previous:<a rel="previous" accesskey="p" href="Commands.html#Commands">Commands</a>,
Up:<a rel="up" accesskey="u" href="Commands.html#Commands">Commands</a>
<hr><br>
</div>
<h3 class="section">Command Echoing</h3>
<p>Normally <code>make</code> prints each command line before it is executed.
We call this <dfn>echoing</dfn> because it gives the appearance that you
are typing the commands yourself.
<p>When a line starts with <code>@</code>, the echoing of that line is suppressed.
The <code>@</code> is discarded before the command is passed to the shell.
Typically you would use this for a command whose only effect is to print
something, such as an <code>echo</code> command to indicate progress through
the makefile:
<pre class="example"> @echo About to make distribution files
</pre>
<p>When <code>make</code> is given the flag <code>-n</code> or <code>--just-print</code>
it only echoes commands, it won't execute them. See <a href="Options-Summary.html#Options%20Summary">Summary of Options</a>. In this case and only this case, even the
commands starting with <code>@</code> are printed. This flag is useful for
finding out which commands <code>make</code> thinks are necessary without
actually doing them.
<p>The <code>-s</code> or <code>--silent</code>
flag to <code>make</code> prevents all echoing, as if all commands
started with <code>@</code>. A rule in the makefile for the special target
<code>.SILENT</code> without prerequisites has the same effect
(see <a href="Special-Targets.html#Special%20Targets">Special Built-in Target Names</a>).
<code>.SILENT</code> is essentially obsolete since <code>@</code> is more flexible.
</body></html>