Bonjour,

Pour un projet multi-plateformes, nous avons un Makefile parametré. Grâce à du "ifeq", je reussis à obtenir des variables configurées pour une compilation Windows ou Linux. Cependant, ce fonctionnement est contraignant : Il oblige à definir une variable d'environnement, dans le fichier, ou exportée à partir du shell appelant, voire passee en ligne de commande à make.


J'aimerais, si c'est possible, definir le contenu de plusieurs variables via des cibles .PHONY

Voici un apperçu de ce que j'ai essayé (et qui ne marche pas), ce qui vous donnera une idée de ce que je souhaite faire :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.PHONY: linux
linux:
        VAR=valeur_pour_linux
        VAR2=valeur_pour_linux
        VAR3=valeur_pour_linux
        $(MAKE) -e all
 
.PHONY: windows
windows:
        VAR=valeur_pour_windows
        VAR2=valeur_pour_windows
        VAR3=valeur_pour_windows
        $(MAKE) -e all
 
 
all:
        <Compilation utilisant VAR, VAR2, VAR3... >



Après avoir galéré plusieurs heures, j'ai l'impression que cela n'est pas possible. En effet, les variables d'environnement semblent impossibles à modifier via les lignes de commandes. J'ai également essayé export, tenté de echo la valeur juste après mes tentatives de changements de valeurs, mais rien n'y fait, ces variables semblent refuser obstinément de changer de valeur via des lignes de commandes...

Y'a-t'il une solution, ou est-il obligatoire d'utiliser des moyens détournés pour obtenir ce que je souhaite réaliser ?


Merci par avance