.TH CPP 6ACK .ad .SH NAME cpp \- C Pre-Processor .SH SYNOPSIS cpp [\-options] [ file ] .SH DESCRIPTION .I Cpp reads a file, expands macros and include files, and writes an input file for the C compiler. All output is to standard output. .br The following options are supported. .IP -\fBI\fIdirectory\fR .br add this directory to the list of directories searched for #include "..." and #include <...> commands. Note that there is no space between the "-I" and the directory string. More than one -I command is permitted. .IP -\fBI\fR end the list of directories to be searched, and also do not look in default places. .IP -\fBD\fIname\fR=\fItext\fR .br define .I name as a macro with .I text as its replacement text. .IP -\fBD\fIname\fR the same as -\fBD\fIname\fR=1. .IP -\fBU\fIname\fR .br undefine the macro name .IR name . .IP -\fBC\fR leave comments in. By default, C-comments are deleted. .IP -\fBP\fR do not generate line directives .IP -\fBM\fIn\fR set maximum identifier length to .IR n . .IP -\fBd\fR[\fIfile\fR] .br if \fIfile\fR is not given, do not preprocess, but instead generate a list of makefile dependencies and write them to the standard output. If \fIfile\fP is given, generate preprocessor output on standard output, and generate the list of makefile dependencies on file \fIfile\fP. .IP -\fBxs\fR when generating makefile dependencies, do not include files from /usr/include. .IP -\fBxm\fR when generating makefile dependencies, generate them in the following format: .RS .IP "file.o: file1.h" .RE .IP "" where "file.o" is derived from the source file name. Normally, only a list of files included is generated. .PP The following names are always available unless undefined: .IP __FILE__ The input (or #include) file being compiled (as a quoted string). .IP __LINE__ The line number being compiled. .IP __DATE__ The date and time of compilation as a Unix ctime quoted string (the trailing newline is removed).