Go to the first, previous, next, last section, table of contents.
These options control the C preprocessor, which is run on each C source
file before actual compilation.
If you use the `-E' option, nothing is done except preprocessing.
Some of these options make sense only together with `-E' because
they cause the preprocessor output to be unsuitable for actual
compilation.
-include file
- Process file as input before processing the regular input file.
In effect, the contents of file are compiled first. Any `-D'
and `-U' options on the command line are always processed before
`-include file', regardless of the order in which they are
written. All the `-include' and `-imacros' options are
processed in the order in which they are written.
-imacros file
- Process file as input, discarding the resulting output, before
processing the regular input file. Because the output generated from
file is discarded, the only effect of `-imacros file'
is to make the macros defined in file available for use in the
main input.
Any `-D' and `-U' options on the command line are always
processed before `-imacros file', regardless of the order in
which they are written. All the `-include' and `-imacros'
options are processed in the order in which they are written.
-idirafter dir
- Add the directory dir to the second include path. The directories
on the second include path are searched when a header file is not found
in any of the directories in the main include path (the one that
`-I' adds to).
-iprefix prefix
- Specify prefix as the prefix for subsequent `-iwithprefix'
options.
-iwithprefix dir
- Add a directory to the second include path. The directory's name is
made by concatenating prefix and dir, where prefix was
specified previously with `-iprefix'. If you have not specified a
prefix yet, the directory containing the installed passes of the
compiler is used as the default.
-iwithprefixbefore dir
- Add a directory to the main include path. The directory's name is made
by concatenating prefix and dir, as in the case of
`-iwithprefix'.
-isystem dir
- Add a directory to the beginning of the second include path, marking it
as a system directory, so that it gets the same special treatment as
is applied to the standard system directories.
-nostdinc
- Do not search the standard system directories for header files. Only
the directories you have specified with `-I' options (and the
current directory, if appropriate) are searched. See section Options for Directory Search, for information on `-I'.
By using both `-nostdinc' and `-I-', you can limit the include-file
search path to only those directories you specify explicitly.
-undef
- Do not predefine any nonstandard macros. (Including architecture flags).
-E
- Run only the C preprocessor. Preprocess all the C source files
specified and output the results to standard output or to the
specified output file.
-C
- Tell the preprocessor not to discard comments. Used with the
`-E' option.
-P
- Tell the preprocessor not to generate `#line' directives.
Used with the `-E' option.
-M
- Tell the preprocessor to output a rule suitable for
make
describing the dependencies of each object file. For each source file,
the preprocessor outputs one make
-rule whose target is the object
file name for that source file and whose dependencies are all the
#include
header files it uses. This rule may be a single line or
may be continued with `\'-newline if it is long. The list of rules
is printed on standard output instead of the preprocessed C program.
`-M' implies `-E'.
Another way to specify output of a make
rule is by setting
the environment variable DEPENDENCIES_OUTPUT
(see section Environment Variables Affecting GNU CC).
-MM
- Like `-M' but the output mentions only the user header files
included with `#include "file"'. System header files
included with `#include <file>' are omitted.
-MD
- Like `-M' but the dependency information is written to a file made by
replacing ".c" with ".d" at the end of the input file names.
This is in addition to compiling the file as specified---`-MD' does
not inhibit ordinary compilation the way `-M' does.
In Mach, you can use the utility
md
to merge multiple dependency
files into a single dependency file suitable for using with the `make'
command.
-MMD
- Like `-MD' except mention only user header files, not system
header files.
-MG
- Treat missing header files as generated files and assume they live in the
same directory as the source file. If you specify `-MG', you
must also specify either `-M' or `-MM'. `-MG' is not
supported with `-MD' or `-MMD'.
-H
- Print the name of each header file used, in addition to other normal
activities.
-Aquestion(answer)
- Assert the answer answer for question, in case it is tested
with a preprocessing conditional such as `#if
#question(answer)'. `-A-' disables the standard
assertions that normally describe the target machine.
-Dmacro
- Define macro macro with the string `1' as its definition.
-Dmacro=defn
- Define macro macro as defn. All instances of `-D' on
the command line are processed before any `-U' options.
-Umacro
- Undefine macro macro. `-U' options are evaluated after all
`-D' options, but before any `-include' and `-imacros'
options.
-dM
- Tell the preprocessor to output only a list of the macro definitions
that are in effect at the end of preprocessing. Used with the `-E'
option.
-dD
- Tell the preprocessing to pass all macro definitions into the output, in
their proper sequence in the rest of the output.
-dN
- Like `-dD' except that the macro arguments and contents are omitted.
Only `#define name' is included in the output.
-trigraphs
- Support ANSI C trigraphs. The `-ansi' option also has this effect.
-Wp,option
- Pass option as an option to the preprocessor. If option
contains commas, it is split into multiple options at the commas.
Go to the first, previous, next, last section, table of contents.