Ensure macros are only defined if they have not been defined