Pristine Ack-5.5
[Ack-5.5.git] / util / cpp / cpp.6
1 .TH CPP 6 "$Revision: 2.9 $"
2 .ad
3 .SH NAME
4 cpp \- C Pre-Processor
5 .SH SYNOPSIS
6 .B ~em/lib.bin/cpp
7 [\-options] [ file ]
8 .SH DESCRIPTION
9 .I Cpp
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 -\fBU\fIname\fR
35 .br
36 undefine the macro name
37 .IR name .
38 .IP -\fBC\fR
39 leave comments in. By default, C-comments are deleted.
40 .IP -\fBP\fR
41 do not generate line directives
42 .IP -\fBM\fIn\fR
43 set maximum identifier length to
44 .IR n .
45 .IP -\fBd\fR[\fIfile\fR]
46 .br
47 if \fIfile\fR is not given, do not preprocess, but instead generate a list
48 of makefile dependencies and write them to the standard output.
49 If \fIfile\fP is given, generate preprocessor output on standard output,
50 and generate the list of makefile dependencies on file \fIfile\fP.
51 .IP -\fBA\fR[\fIfile\fR]
52 identical to the -d option.
53 .IP -\fBi\fR
54 when generating makefile dependencies, do not include files from
55 /usr/include.
56 .IP -\fBm\fR
57 when generating makefile dependencies, generate them in the following format:
58 .RS
59 .IP "file.o: file1.h"
60 .RE
61 .IP ""
62 where "file.o" is derived from the source file name. Normally, only a list
63 of files included is generated.
64 .IP -\fBundef\fR
65 .br
66 this flag is silently ignored, for compatibility with other preprocessors.
67 .PP
68 The following names are always available unless undefined:
69 .IP __FILE__
70 The input (or #include) file being compiled
71 (as a quoted string).
72 .IP __LINE__
73 The line number being compiled.
74 .IP __DATE__
75 The date and time of compilation as
76 a Unix ctime quoted string (the trailing newline is removed).