Information Technology Reference
In-Depth Information
par le biais d'un ordre d'inclusion #include. Le graphe de dépendance du programme
prog est donné sur la figure 3.11.
Le fichier Makefile résultant est :
prog : x.o y.o z.o
ld x.o y.o z.o - o prog
x.o : defs x.c
cc - o x.c
y.o : defs y.c
cc - c y.c
z.o : z.c
cc - c z.c
La première règle stipule la dépendance associée au programme exécutable prog
qui est donc construit à partir des modules x.o, y.o et z.o. La commande permettant
la construction du programme exécutable prog à partir de ces trois modules objets
est la commande d'édition des liens ld x.o y.o z.o - o prog.
prog
exécutable
Édition des liens
z.o
objets
y.o
x.o
Compilation
x.c
defs
y.c
z.c
sources
Figure 3.11
Graphe de dépendance du fichier prog.
La seconde et la troisième règle stipulent que le fichier objet x.o (respectivement y.o)
dépend à la fois du fichier x.c (respectivement y.c) et du fichier defs. Les fichiers
y.o ou x.o sont construits par compilation des fichiers.c correspondants.
Enfin, la dernière règle spécifie que le fichier z.o dépend uniquement de la compi-
lation du fichier z.c.
3.4.2 Fonctionnement de l'utilitaire Make
L'outil Make utilise le fichier Makefile et les dates de dernières modifications des
modules pour déterminer si un module est à jour. Un module est à jour si : le module
existe et si sa date de dernière modification est plus récente que les dates de dernière
modification de tous les modules dont il dépend ou bien elle est égale.
Si un module n'est pas à jour, la commande associée à ses dépendances est exécutée
pour reconstruire le module.
Considérons par exemple que le module z.c soit modifié. L'utilitaire Make va
détecter que ce module est devenu plus récent que le module objet z.o. Il va donc
 
Search WWH ::




Custom Search