GCC invokes all the required gnu passes for you with the following utilities.
cpp
The preprocessor
which processes all the header files and macros that your target requires.
gcc
The compiler
which produces assembly language code from the processed C files. For more
information, see Using
GNU CC in GNUPro Compiler Tools.
as
The assembler
which produces binary code from the assembly language code and puts it
in an object file.
ld
The linker
which binds the code to addresses, links the startup file and libraries
to the object file, and produces the executable binary image.
There are several machine-independent compiler switches, among which are, notably, -fno-exceptions (for C++), -fritti (for C++) and -T (for linking).
You have four implicit file extensions: .c, .C, .s, and .S. For more information, see Using GNU CC in GNUPro Compiler Tools.