Ah ecco, quindi deve essere una mia furbata...
Magari potrei provare a fare un configure sia .exe che .bin che metta a posto il file SO.h
Mi piace, proverò subito.
In questo caso potrei fare un miniprogramma di C++ che fa cosi...

codice:
#include <iostram.h>
#include <fstream.h>
#include <stdlib.h>
main() 
[
    int SO;
      cout <<"Scegli il tuo sistema operativo. /n
            1. Win32 /n
            2.Linux /n"; 
      cin >> SO;
ofstream SistemaOperativo("SO.h",ios::out);
if (SO == 1)
SistemaOperativo << "#define _Win32_";
else
SistemaOperativo << "#define _Linux_";
cout <<"Sei pronto alla compilazione del programma";

]
In pratica questo definisce il sistema operativo prima di lancirare la compilazione
E' abbozzato, ma il concetto è quello, giusto?