Using and Porting the GNU Compiler Collection (GCC)
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
-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
-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
-I' adds to).
-iprefix prefix
-iwithprefix'
options.
-iwithprefix dir
-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
-iwithprefix'.
-isystem dir
-nostdinc
-I' options (and the
current directory, if appropriate) are searched. See Directory Options, 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
-E
-C
-E' option.
-P
#line' directives.
Used with the `-E' option.
-M
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 Environment Variables).
-MM
-M' but the output mentions only the user header files
included with `#include "file"'. System header files
included with `#include <file>' are omitted.
-MD
-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
-MD' except mention only user header files, not system
header files.
-MG
-MG', you
must also specify either `-M' or `-MM'. `-MG' is not
supported with `-MD' or `-MMD'.
-H
-Aquestion(answer)
#if #question(answer)'. `-A-' disables the standard
assertions that normally describe the target machine.
-Dmacro
1' as its definition.
-Dmacro=defn
-D' on
the command line are processed before any `-U' options.
-Umacro
-U' options are evaluated after all
`-D' options, but before any `-include' and `-imacros'
options.
-dM
-E'
option.
-dD
-dN
-dD' except that the macro arguments and contents are omitted.
Only `#define name' is included in the output.
-trigraphs
-ansi' option also has this effect.
-Wp,option
Using and Porting the GNU Compiler Collection (GCC)
Packaging copyright © 1988-2000 OAR Corporation Context copyright by each document's author. See Free Software Foundation for information.