Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / cpp.ansi / ncpp.6
1 .TH CPP.ANSI 6 "$Revision: 1.5 $"
2 .ad
3 .SH NAME
4 cpp.ansi \- ANSI C Pre-Processor
5 .SH SYNOPSIS
6 .B ~em/lib.bin/cpp.ansi
7 [\-options] [ file ]
8 .SH DESCRIPTION
9 .I Cpp.ansi
10 reads a file, expands macros and include
11 files, and writes an input file for the C compiler.
12 All output is to standard output.
13 .br
14 The following options are supported.
15 .IP -\fBI\fIdirectory\fR
16 .br
17 add this directory to the list of
18 directories searched for #include "..." and #include <...>
19 commands.  Note that there is no space between the
20 "-I" and the directory string.  More than one -I command
21 is permitted.
22 .IP -\fBI\fR
23 end the list of directories to be searched, and also do not look in
24 default places.
25 .IP -\fBD\fIname\fR=\fItext\fR
26 .br
27 define 
28 .I name
29 as a macro with
30 .I text
31 as its replacement text.
32 .IP -\fBD\fIname\fR
33 the same as -\fBD\fIname\fR=1.
34 .IP
35 .IP -\fBU\fIname\fR
36 .br
37 undefine the macro name
38 .IR name .
39 .IP -\fBC\fR
40 leave comments in. By default, C-comments are deleted.
41 .IP -\fBP\fR
42 do not generate line directives
43 .IP -\fBM\fIn\fR
44 set maximum identifier length to
45 .IR n .
46 .IP -\fBd\fR[\fIfile\fR]
47 .br
48 if \fIfile\fR is not given, do not preprocess, but instead generate a list
49 of makefile dependencies and write them to the standard output.
50 If \fIfile\fP is given, generate preprocessor output on standard output,
51 and generate the list of makefile dependencies on file \fIfile\fP.
52 .IP -\fBA\fR[\fIfile\fR]
53 identical to the -d option.
54 .IP -\fBi\fR
55 when generating makefile dependencies, do not include files from
56 /usr/include.
57 .IP -\fBm\fR
58 when generating makefile dependencies, generate them in the following format:
59 .RS
60 .IP "file.o: file1.h"
61 .RE
62 .IP ""
63 where "file.o" is derived from the source file name. Normally, only a list
64 of files included is generated.
65 .IP -\fBundef\fR
66 .br
67 this flag is silently ignored, for compatibility with other preprocessors.
68 .PP
69 The following names are always available. They cannot be the subject of a
70 -U command line option or a #undef directive.
71 .RS
72 .IP __STDC__
73 A decimal constant 1, indicating that this is an ANSI C conforming
74 implementation.
75 .IP __FILE__
76 The input (or #include) file being compiled
77 (as a quoted string).
78 .IP __LINE__
79 The line number being compiled.
80 .IP __DATE__
81 The date of translation of the source file. This is a string
82 literal of the form "\fBMmm dd yyyy\fP".
83 .IP __TIME__
84 The time of translation of the source file. This is a string
85 literal of the form "\fBhh:mm:ss\fP".
86 .RE
87 .SH BUGS
88 The output may contain extra spaces, this prevents unintended
89 pasting of tokens.
90 .SH "SEE ALSO"
91 L. Rosler,
92 .I
93 Draft Proposed Standard - Programming Language C,
94 .R
95 ANSI X3J11 Language Subcommittee