Checked if a preprocessor macro is defined rather than checking against the macro itself.
Removed trailing commas in enumeration lists as required by the standard.