Das musst du in deiner Toolchain regeln.
Entweder im Makefile oder in einer Batchdatei, je nachdem was du
benutzt.
Normalerweise haben Compiler einen Commandline Switch, mit dem es
möglich ist, irgendwelche #define von aussen zu setzen. Oft gibt es auch
eine Möglichkeit wie man diesem Makro einen Wert geben kann, so dass man
effektiv beim Compileraufruf das Equivalent zu
#define MAKRO WERT
erzeugen kann.
-> Compiler-Doku durchforsten.
Wenn das nicht geht, kannst du immer noch dein erzeugendes Programm so
manipulieren, dass es seine Ausgabe in eine Datei macht und diese dann
per #include in dein C-Programm hineinziehen. Das wird sogar recht
häufig so gemacht, wenn es darum geht irgendwelche Tabellen oder Bilder
oder dergleichen, die von einem Programm generiert werden, im C-Code
weiterzuverwenden.
Aber einen Compiler, der es einem C-Code ermöglicht, während das
Compilierens ein anderes Programm aufzurufen, würde wohl kein Entwickler
aus naheliegenden Gründen benutzen wollen.