Lin George wrote: > I have tried that in ListDef file (new generated after either of the two commands) and it contains several hundred lines of #define, typedef and some other definitions. Could anyone help to answer what is the function of the two commands? Differences between -dM and -dD? The -E option enables preprocessing only. Every option is documented in the manual: http://gcc.gnu.org/onlinedocs/gcc/Option-Index.html http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html As for why you'd want a file containing a list of all the #defines, you'd have to look at the context of how it's used elsewhere in the build system. There's no way to know based only on what you've given. Brian