Makefiles : questions diverses sur les variables

Liste des GroupesRevenir à fco unix 
Sujet : Makefiles : questions diverses sur les variables
De : fantome.forums.tDeContes (at) *nospam* free.fr.invalid (Thomas)
Groupes : fr.comp.os.unix
Date : 25. Oct 2022, 01:59:09
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <635734de$0$31552$426a74cc@news.free.fr>
User-Agent : MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
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/

Date Sujet#  Auteur
25 Oct 22 o Makefiles : questions diverses sur les variables1Thomas

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal