Information Technology Reference
In-Depth Information
A contrario , résoudre les liens vers les objets des bibliothèques au moment du
chargement ralentit cette phase de la chaîne de production de programmes. On notera
par ailleurs que la résolution des liens vers les bibliothèques peut même être retardée
jusqu'à l'exécution du programme et jusqu'au moment de l'utilisation de l'objet non
résolu. Dans ce cas, c'est l'exécution même du programme qui est ralentie.
3.4
L'UTILITAIRE MAKE
Le Make est un outil qui exploite les dépendances existantes entre les modules
entrant en jeu dans la construction d'un programme exécutable pour ne lancer que les
opérations de compilations et éditions de liens nécessaires, lorsque ce programme
exécutable doit être reconstruit suite à une modification intervenue dans les modules
sources.
Exemple
Dans le programme suivant x.c, l'inclusion du fichier defs par l'ordre #include
"defs" crée une dépendance entre ces deux modules.
/* fichier x.c */
#include "defs"
main()
{
}
Cet outil utilise deux sources d'informations : un fichier de description appelé le
Makefile qui contient la description des dépendances entre les modules et les noms
et les dates de dernières modifications des modules.
3.4.1
Format du fichier Makefile
Le fichier Makefile décrit les dépendances existantes entre les modules intervenant
dans la construction d'un exécutable : il traduit sous forme de règles le graphe de
dépendance du programme exécutable à construire et indique pour chacune de ces
dépendances, l'action qui lui est associée.
Une règle dans le fichier Makefile est de la forme :
module cible : dépendances
commande pour construire le module cible
Prenons comme exemple le cas suivant : le programme exécutable prog est cons-
truit à partir d'une étape d'édition des liens prenant en compte les trois modules
objets x.o, y.o et z.o. Le module objet z.o est issu de la compilation d'un programme
source z.c. Les modules x.o et y.o sont à leur tour issus de la compilation respective
des modules source x.c et y.c. Ces deux derniers modules utilisent un module defs
 
 
Search WWH ::




Custom Search