For me it also helped to add the definitions in the constructor in my Plugin.Build.cs like this:
PublicDefinitions.Add("MAKRO_NAME")
An example for where to put it can be found here: Unreal Engine: Including a Third-Party Library (on the example of the Point Cloud Library and Boost) [Tutorial] [Download] – Valentin Kraft's Portfolio
I think this might be a little bit cleaner then opening every file and then adding the #def tag there?