“In fact, GCC does not do the compilation itself. It gets all arguments from the user and calls other programs passing them the needed arguments with some default one to do the four stages involved in the compilation. ”
Refer to this link for more information: http://library.gnome.org/users/anjuta-build-tutorial/unstable/build-gcc.html.en