Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.os.unix > #8049
| From | Thomas <fantome.forums.tDeContes@free.fr.invalid> |
|---|---|
| Newsgroups | fr.comp.os.unix |
| Subject | Makefiles : questions diverses sur les variables |
| Date | 2022-10-25 02:59 +0200 |
| Message-ID | <635734de$0$31552$426a74cc@news.free.fr> (permalink) |
| Organization | Guest of ProXad - France |
bonjour :-) 1) dommage qu'on ne puisse pas avoir connaissance des variables/cible par '.VARIABLES', même pas dans un contexte de cible ! y a-t-il un autre moyen, ou va-t-il falloir deviner ? dommage qu'on ne puisse pas obtenir la valeur des variables/cible par $(cible:VAR). heureusement on peut y arriver dans un contexte de cible, comme ça : cible : - := $(eval ... $(VAR) ...) 2) j'ai remarqué que si on écrit : VAR := $(info ...) et ensuite on exécute : make VAR= le $(info ...) est évalué, alors que make a les moyens de savoir que VAR ne doit pas changer de valeur de toutes façons. est-ce qu'il y a une norme qui dit qu'on est sur qu'il sera évalué tout le temps, ou est-ce que dans ce cas de figure le comportement de make est incertain ? 3) y a-t-il un moyen d'obtenir la liste des cibles qu'on a définies, quand on n'a pas utilisé .PHONY tout le temps ? (je n'ai pas testé mais je pense pouvoir récupérer la liste des prerequis de .PHONY avec la même astuce que dans le 1).) désolé pour l'ajout, j'espère que ça n'aura pas dérangé trop de monde. 4) je n'arrive pas très bien à comprendre comment ca se passe quand on fait un ajout (avec +=) à une variable/cible (déjà définie au niveau global) VAR := texte cible : VAR += ajout cible : - := $(info $(value VAR)) ne donne que 'ajout', pas 'texte'. cible : - := $(info $(flavor VAR)) donne 'recursive' au lieu de 'simple', mais je ne vois pas de différence avec : VAR := texte cible : VAR = ajout où est stockée l'info disant que la variable globale doit être concaténée au début, et est-elle accessible ? si la variable globale est modifiée après la variable/cible, la variable/cible est mise à jour. en plus, c'est une vraie variable récursive, avec évaluation plus tard, alors que VAR existe déjà (donc ça n'est pas très intuitif). est-ce qu'il y a une norme qui dit que ça doit se passer comme ça, ou est-ce un "coup de chance" ? et aussi, peut-on obtenir le même genre de mécanisme en concaténant la variable globale à la fin et/ou sans espace ? -- RAPID maintainer http://savannah.nongnu.org/projects/rapid/
Back to fr.comp.os.unix | Previous | Next | Find similar | Unroll thread
Makefiles : questions diverses sur les variables Thomas <fantome.forums.tDeContes@free.fr.invalid> - 2022-10-25 02:59 +0200
csiph-web