iso9660fs: initialize buffer cache
[minix.git] / man / man1 / ifdef.1
blob6d6c174535a059850836cb4cea8a295e530ca311
1 .TH IFDEF 1
2 .SH NAME
3 ifdef \- remove #ifdefs from a file
4 .SH SYNOPSIS
5 \fBifdef \fR[\fB\-t\fR] [\fB\-d\fIsymbol\fR] [\fB\-D\fIsymbol\fR] [\fB\-U\fIsymbol\fR] [\fB\-I\fIsymbol\fR] [file]\fR
6 .br
7 .de FL
8 .TP
9 \\fB\\$1\\fR
10 \\$2
12 .de EX
13 .TP 20
14 \\fB\\$1\\fR
15 # \\$2
17 .SH OPTIONS
18 .TP 5
19 .B \-D
20 # Define symbol permanently
21 .TP 5
22 .B \-I
23 # Ignore symbol
24 .TP 5
25 .B \-U
26 # Undefine symbol permanently
27 .TP 5
28 .B \-d
29 # Define symbol. It may be #undef'ed later
30 .TP 5
31 .B \-t
32 # Produce a table of the symbols on \fIstdout\fR
33 .SH EXAMPLES
34 .TP 20
35 .B ifdef \-DUNIX file.c >newfile.c
36 # Define \fIUNIX\fR
37 .TP 20
38 .B ifdef \-D_MINIX \-UDOS <x.c >y.c
39 # Define \fI_MINIX\fR, undefine \fIDOS\fR
40 .SH DESCRIPTION
41 .PP
42 \fIIfdef\fR
43 allows conditional code [ #ifdef ... #endif ]
44 to be selectively removed from C files, but at the same time leaving
45 all other C preprocessor commands intact such as #define, #include etc.
46 Input to
47 .I ifdef
48 is either the file named as the last argument, or \fIstdin\fR if no file
49 is named.
50 Output goes to \fIstdout\fR.
51 .PP
52 Symbols may be defined with the \fB\-d\fR or \fB\-D\fR flags just like
53 \fIcpp\fR, except that the latter option ignores subsequent \fI#undefs\fR.
54 It is not permitted to give values to symbols.
55 Similarly, \fB\-U\fR undefines a symbol and ignores subsequent 
56 \fI#defines\fRs.
57 Symbols defined with \fB\-I\fR are ignored; any \fI#ifdef\fR using an
58 ignored symbol will be left intact.