Je démarre un makefile avec GNU Make
De la même façon qu'il existe la variable $^ qui retourne les dépendances
directes, existe t-il une variable de la sorte pour lister toutes les
dépendances et sous-dépendances (récursivement) ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michael DOUBEZ
TSalm a écrit :
Je démarre un makefile avec GNU Make De la même façon qu'il existe la variable $^ qui retourne les dépendances directes, existe t-il une variable de la sorte pour lister toutes les dépendances et sous-dépendances (récursivement) ?
Pas à ma connaissance.
Et je ne vois pas d'utilité à le faire.
-- Michael
TSalm a écrit :
Je démarre un makefile avec GNU Make
De la même façon qu'il existe la variable $^ qui retourne les
dépendances directes, existe t-il une variable de la sorte pour lister
toutes les dépendances et sous-dépendances (récursivement) ?
Je démarre un makefile avec GNU Make De la même façon qu'il existe la variable $^ qui retourne les dépendances directes, existe t-il une variable de la sorte pour lister toutes les dépendances et sous-dépendances (récursivement) ?
Pas à ma connaissance.
Et je ne vois pas d'utilité à le faire.
-- Michael
TSalm
Le Sat, 28 Nov 2009 23:49:06 +0100, Michael DOUBEZ a écrit:
TSalm a écrit :
Je démarre un makefile avec GNU Make De la même façon qu'il existe la variable $^ qui retourne les dépendances directes, existe t-il une variable de la sorte pour lister toutes les dépendances et sous-dépendances (récursivement) ?
Pas à ma connaissance.
Et je ne vois pas d'utilité à le faire.
Pas d'utilité ? C'est peut-être alors qu'il y a quelquechose qui m'échappe. J'ai fait quelquechose comme ceci (j'épargne certains détails superflus ) :
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
Je n'ai pas pris la bonne direction ?
Le Sat, 28 Nov 2009 23:49:06 +0100, Michael DOUBEZ
<michael.doubez@free.fr> a écrit:
TSalm a écrit :
Je démarre un makefile avec GNU Make
De la même façon qu'il existe la variable $^ qui retourne les
dépendances directes, existe t-il une variable de la sorte pour lister
toutes les dépendances et sous-dépendances (récursivement) ?
Pas à ma connaissance.
Et je ne vois pas d'utilité à le faire.
Pas d'utilité ? C'est peut-être alors qu'il y a quelquechose qui m'échappe.
J'ai fait quelquechose comme ceci (j'épargne certains détails superflus ) :
mon_exe_final: mon_obj3.o
$(CPP) $(LDFLAGS) $??? -o $@
=============================================
Je voudrais que <<$???>> soit remplacer par tous les objets dont
<<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et
<<mon_obj3.o>>.
Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par
exemple, elle serait répercutée dans mon_exe_final sans effort inutile de
ma part.
Le Sat, 28 Nov 2009 23:49:06 +0100, Michael DOUBEZ a écrit:
TSalm a écrit :
Je démarre un makefile avec GNU Make De la même façon qu'il existe la variable $^ qui retourne les dépendances directes, existe t-il une variable de la sorte pour lister toutes les dépendances et sous-dépendances (récursivement) ?
Pas à ma connaissance.
Et je ne vois pas d'utilité à le faire.
Pas d'utilité ? C'est peut-être alors qu'il y a quelquechose qui m'échappe. J'ai fait quelquechose comme ceci (j'épargne certains détails superflus ) :
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= > Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour le preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier d'entetes en question. Note que c'est juste une ligne de dependances, les regles de prod existent deja, pas besoin d'y toucher...
In article <op.u34nmnk2k9rspk@papillon>, TSalm <tsalm@free.fr> wrote:
mon_exe_final: mon_obj3.o
$(CPP) $(LDFLAGS) $??? -o $@
============================================= >
Je voudrais que <<$???>> soit remplacer par tous les objets dont
<<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et
<<mon_obj3.o>>.
Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par
exemple, elle serait répercutée dans mon_exe_final sans effort inutile de
ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de
mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour le
preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du
compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par
exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier
d'entetes en question.
Note que c'est juste une ligne de dependances, les regles de prod existent
deja, pas besoin d'y toucher...
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= > Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour le preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier d'entetes en question. Note que c'est juste une ligne de dependances, les regles de prod existent deja, pas besoin d'y toucher...
TSalm
Le Sun, 29 Nov 2009 07:18:39 +0100, Marc Espie a écrit:
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= >> Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Ah? Ok c'est toujours sympa à entendre :-)
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Et si je comprends, il est dépendant aussi de <<mon_obj2.hpp>> et <<mon_obj1.hpp>>.
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour le preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier d'entetes en question. Note que c'est juste une ligne de dependances, les regles de prod existent deja, pas besoin d'y toucher...
Merci pour ces explications.
Le Sun, 29 Nov 2009 07:18:39 +0100, Marc Espie <espie@lain.home> a écrit:
In article <op.u34nmnk2k9rspk@papillon>, TSalm <tsalm@free.fr> wrote:
mon_exe_final: mon_obj3.o
$(CPP) $(LDFLAGS) $??? -o $@
============================================= >>
Je voudrais que <<$???>> soit remplacer par tous les objets dont
<<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>>
et
<<mon_obj3.o>>.
Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par
exemple, elle serait répercutée dans mon_exe_final sans effort inutile
de
ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Ah? Ok c'est toujours sympa à entendre :-)
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de
mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Et si je comprends, il est dépendant aussi de <<mon_obj2.hpp>> et
<<mon_obj1.hpp>>.
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour
le
preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du
compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par
exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier
d'entetes en question.
Note que c'est juste une ligne de dependances, les regles de prod
existent
deja, pas besoin d'y toucher...
mon_exe_final: mon_obj3.o $(CPP) $(LDFLAGS) $??? -o $@ ============================================= >> Je voudrais que <<$???>> soit remplacer par tous les objets dont <<mon_exe_final>> dépends, c'est à dire <<mon_obj1.o>>, <<mon_obj2.o>> et <<mon_obj3.o>>. Ainsi, si je devais ajouter une autre dépendance dans <<mon_obj2.o>> par exemple, elle serait répercutée dans mon_exe_final sans effort inutile de ma part.
Je n'ai pas pris la bonne direction ?
Okay, tu n'as a peu pres rien compris, helas.
Ah? Ok c'est toujours sympa à entendre :-)
Les *dependances* deja. Il n'y a aucune raison que mon_obj2.o depende de mon_obj1.o. Par contre, toutes les raisons qu'il depende de mon_obj2.cpp
Et si je comprends, il est dépendant aussi de <<mon_obj2.hpp>> et <<mon_obj1.hpp>>.
Les noms de variables ensuite. CPPFLAGS, traditionnellement, c'est pour le preprocesseur. Et CPP aussi. On utilise CXXFLAGS et CXX pour le nom du compilo. Egalement, il *faut* repasser CXXFLAGS a l'editeur de liens.
A ca, il faut eventuellement rajouter tes dependances sur des .hpp, par exemple:
mon_obj1.o mon_obj2.o: mon_obj1.hpp
en supposant que mon_obj1 et mon_obj2 utilisent tous les deux le fichier d'entetes en question. Note que c'est juste une ligne de dependances, les regles de prod existent deja, pas besoin d'y toucher...