J'ai un repertoire d'executables ainsi qu'un repertoire contenant les
sources d'une librairie "maison".
Chacun de ces repertoires est doté d'un makefile.
Lorsque je modifie les sources de la librairie, il me faut a la fois
tout recompiler la librairie mais également tous les executables.
Ya certainement un probleme de dependance mais je n'ai pas trouvé ou la
modifier.
Voici les deux makefile pour les intéressés:
1. Pour les executables:
#######################################
BIN = /nfs/data2/arslan/demo_cesbio/bin/
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
Emmanuel Fleury
Emmanuel Fleury wrote:
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Désolé ! :-/
Amicalement -- Emmanuel Fleury | Office: 211 Associate Professor, | Phone: +33 (0)5 40 00 35 24 LaBRI, Domaine Universitaire | Fax: +33 (0)5 40 00 66 69 351, Cours de la Libération | email: 33405 Talence Cedex, France | URL: http://www.labri.fr/~fleury
Emmanuel Fleury wrote:
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela
automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques
statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Désolé ! :-/
Amicalement
--
Emmanuel Fleury | Office: 211
Associate Professor, | Phone: +33 (0)5 40 00 35 24
LaBRI, Domaine Universitaire | Fax: +33 (0)5 40 00 66 69
351, Cours de la Libération | email: emmanuel.fleury@labri.fr
33405 Talence Cedex, France | URL: http://www.labri.fr/~fleury
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Désolé ! :-/
Amicalement -- Emmanuel Fleury | Office: 211 Associate Professor, | Phone: +33 (0)5 40 00 35 24 LaBRI, Domaine Universitaire | Fax: +33 (0)5 40 00 66 69 351, Cours de la Libération | email: 33405 Talence Cedex, France | URL: http://www.labri.fr/~fleury
Zulfukar Arslan
Emmanuel Fleury wrote:
Emmanuel Fleury wrote:
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Bonne question. Je n'en ai aucune idée. A vrai dire, ce makefile était déja écris.
La librairie contient un certain nombre de fichiers source (écris en C). le makefile correspondant a l'air de construire les ".o" à l'aide de la ligne:
.c.o:; gcc -Wall -O2 -g $(INC) -c $*.c ;
L'autre repertoire contient les executables (aussi ecris en C). Et la, par contre, je ne vois pas comment il fabrique les ".o".
Si je modifie le source d'un des excutables, je suis obligé de recompiler la librairie, et ensuite seulement je compile le repertoire d'executables, en tapant à la suite (d'abord dans le REP librairie):
make clean && make cd ../REP_EXE/ make clean && make install
C'est donc assez fastidieux. Mais ça a le mérite de marcher.
Une idée?
Désolé ! :-/
Amicalement
Emmanuel Fleury wrote:
Emmanuel Fleury wrote:
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela
automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques
statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Bonne question. Je n'en ai aucune idée.
A vrai dire, ce makefile était déja écris.
La librairie contient un certain nombre de fichiers source (écris en C).
le makefile correspondant a l'air
de construire les ".o" à l'aide de la ligne:
.c.o:; gcc -Wall -O2 -g $(INC) -c $*.c ;
L'autre repertoire contient les executables (aussi ecris en C). Et la,
par contre, je ne vois pas comment il fabrique les ".o".
Si je modifie le source d'un des excutables, je suis obligé de
recompiler la librairie, et ensuite seulement je compile le repertoire
d'executables,
en tapant à la suite (d'abord dans le REP librairie):
make clean && make
cd ../REP_EXE/
make clean && make install
C'est donc assez fastidieux. Mais ça a le mérite de marcher.
Comment génères-tu tes .o ? Est-ce que le Makefile détermines cela automatiquement ? (et si c'est le cas, il doit inclure les bibliothèques statiques dans les dépendances par excès de zèle).
Je voulais dire: Comment génères-tu tes .o dans le premier Makefile.
Bonne question. Je n'en ai aucune idée. A vrai dire, ce makefile était déja écris.
La librairie contient un certain nombre de fichiers source (écris en C). le makefile correspondant a l'air de construire les ".o" à l'aide de la ligne:
.c.o:; gcc -Wall -O2 -g $(INC) -c $*.c ;
L'autre repertoire contient les executables (aussi ecris en C). Et la, par contre, je ne vois pas comment il fabrique les ".o".
Si je modifie le source d'un des excutables, je suis obligé de recompiler la librairie, et ensuite seulement je compile le repertoire d'executables, en tapant à la suite (d'abord dans le REP librairie):
make clean && make cd ../REP_EXE/ make clean && make install
C'est donc assez fastidieux. Mais ça a le mérite de marcher.