#DEFINE precompile by custom GUI

I know what you tell, but I want not to do this at runtime but at compilation time. I want to use a gui not arduino ide. User must select options and this options will translates in //#define (disabled define) or #define (enable define) so underlevel compiler must compile and send firmware to arduino processor. This process is only performed by user at the setup time, first time, during commissioning system. So I want to implement this in main GUI so user must not manipulate firmware source code directly...