Using Unity Platform defines without running them in the editor

I have some code for a multiplatform game that I only want to run on a mobile device, and not in the editor or standalone builds. Right now, it seems I can only do it this way:

    #if ((UNITY_IPHONE || UNITY_ANDROID) && !UNITY_EDITOR)
       // Mobile gesture code here.
    #endif

Since C# apparently does not support #define macros, I’m left with this somewhat clunky code, that seems a bit hackish. Is there a better way to do this that I am missing? Otherwise, how might I go about getting something like a UNITY_MOBILE constant that does not run on PCs/Macs implemented into Unity?

Currently this is the only way to do this. We’ll probably add the possibility to add custom defines / compilation options at some point.