version 1.100, 2012/10/12 21:44:19 |
version 1.101, 2013/02/04 14:44:58 |
|
|
is removed; if the value is being appended, a single space is inserted |
is removed; if the value is being appended, a single space is inserted |
between the previous contents of the variable and the appended value. |
between the previous contents of the variable and the appended value. |
.Pp |
.Pp |
|
Several extended assignment operators may be combined together. |
|
For instance, |
|
.Bd -literal -offset indent |
|
A ?!= cmd |
|
.Ed |
|
.Pp |
|
will only run |
|
.Qq cmd |
|
and put its output into |
|
.Va A |
|
if |
|
.Va A |
|
is not yet defined. |
|
.Pp |
Variables are expanded by surrounding the variable name with either |
Variables are expanded by surrounding the variable name with either |
curly braces |
curly braces |
.Pq Ql {} |
.Pq Ql {} |
|
|
.Pp |
.Pp |
If the same target is specified several times in complete target rules, |
If the same target is specified several times in complete target rules, |
.Nm |
.Nm |
ignores all commands after the first non empty set of commands, |
silently ignores all commands after the first non empty set of commands, |
e.g., in |
e.g., in |
.Bd -literal -offset indent |
.Bd -literal -offset indent |
a: |
a: |
|
|
.Ed |
.Ed |
.Pp |
.Pp |
the test will never match, even though the value is correct. |
the test will never match, even though the value is correct. |
.Pp |
|
The conditional handler is incredibly lame. |
|
Junk such as |
|
.Pp |
|
.Dl \&.if defined anything goes (A) |
|
.Pp |
|
will be accepted silently. |
|
.Pp |
.Pp |
In a .for loop, only the variable value is used; assignments will be |
In a .for loop, only the variable value is used; assignments will be |
evaluated later, e.g., in |
evaluated later, e.g., in |