Bonjour, j'ai trois versions d'un même code : séquentielle, pthread et parallèle avec MPI. C'est super mais quand je dois changer un truc, je dois faire 3 fois la même modification. Donc, j'aimerais avoir un seul code avec des

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#ifdefined MPI
faire ceci
#elif defined PTHREAD
faire cela
#else /* version sequentielle */
faire autre chose
#end
(syntaxe un peu douteuse, mais je la regarderai de plus près quand je coderai). Bien entendu, le choix du compilo et des options dépendent du code que l'utilisateur veut avoir. Donc dans mon Makefile, je désire avoir une variable du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
VERSION=MPI (ou PTHREAD ou SEQ)
 
ifeq ($VERSION,SEQ)
  CC=gcc
et ainsi de suite.

Mais comment cette variable "VERSION" peut elle se retrouver dans mon code C pour faire mes #ifdefined ?
Y a-t-il une autre solution ?

Merci