File: if.so

package info (click to toggle)
cook 2.5-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 5,860 kB
  • ctags: 3,247
  • sloc: ansic: 41,260; sh: 10,022; yacc: 3,397; makefile: 3,244; awk: 136
file content (49 lines) | stat: -rw-r--r-- 1,850 bytes parent folder | download | duplicates (5)
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
48
49
.\"
.\"	cook - file construction tool
.\"	Copyright (C) 1990, 1991, 1992, 1993, 1994, 1997 Peter Miller;
.\"	All rights reserved.
.\"
.\"	This program is free software; you can redistribute it and/or modify
.\"	it under the terms of the GNU General Public License as published by
.\"	the Free Software Foundation; either version 2 of the License, or
.\"	(at your option) any later version.
.\"
.\"	This program is distributed in the hope that it will be useful,
.\"	but WITHOUT ANY WARRANTY; without even the implied warranty of
.\"	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\"	GNU General Public License for more details.
.\"
.\"	You should have received a copy of the GNU General Public License
.\"	along with this program; if not, write to the Free Software
.\"	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
.\"
.\" MANIFEST: User Guide, Built-In Functions, If
.\"
.H 2 "if"
This function requires one or more arguments,
the arguments before the "then" word are used as a condition.
If the condition is true the words between the "then" word and the
"else" word are the result, otherwise the words after the "else" word
are the value.
The "else" clause is optional.
There is no way to escape the "then" and "else" words.
.H 3 "Example"
Here is an example of the ``if'' function.
Please note that ``if'', ``then'' and ``else'' are reserved words,
so you need to quote them before they will be recognised on
the function context.
.eB
%: %_obj
	set ["if" [defined all_shallow] "then" shallow]
{
	[cc] -o [target] [%_obj];
}
.eE
.H 3 "Caveat"
It is often clearer to use the
.I "if statement"
than this function.
.P
The recipe flags are evaluated at the same time as the recipe targets.
None of the [target], [targets], [need], [younger] variables or pattern
matches (%, %1, \fIetc\fP) are set at this time.