J'ai un programme constitué de plusieurs fichiers c. A l'intérieur tout est organisé avec des #ifdef SERVEUR #ifdef CLIENT.

J'aimerais pouvoir compiler directement le serveur et le client sans avoir à éditer mon fichier.h pour modifier le #define CLIENT en #define SERVEUR à chaque fois !

Je suis certain qu'il existe une solution inhérente à un Makefile. Savez-vous laquelle ?

La solution alternative mais pourrie que j'ai trouvée c'est de créer un fichier pourri :

touch decision.h
echo "#define CLIENT" >> decision.h
gcc [...]
rm decision.h

mais c'est pas très propre non ?