Makefile et #define des fichiers sources
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 ?
Re: Makefile et #define des fichiers sources
Citation:
Envoyé par canard75
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.
Ca n'a rien a voir avec Makefile. Ton compilateur a probablement une option qui permet de définir (ou d'invalider) une macro. Exemple (Borland C, gcc):
Code:
1 2 3 4
|
-DMA_MACRO #define MA_MACRO
-DMA_MACRO=2 #define MA_MACRO=2
-UMA_MACRO #undef MA_MACRO |