Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
• x : extrait un fichier de la librairie<br />
• d : efface un fichier dans la librairie<br />
• t : liste le contenu de la librairie<br />
• v : mode parlant<br />
L’utilitaire make<br />
Cet outil permet de construire un exécutable à partir de l'ensemble de ces dépendances. Il<br />
n'est intéressant à mettre en oeuvre que si l'exécutable dépend de nombreuses sources.<br />
La construction se fait par la commande make à partir des instructions indiquées dans un<br />
fichier d'utilisation de make, appelé par défaut « Makefile » ou « makefile ».<br />
Toute la difficulté réside pour le concepteur dans l’écriture du makefile qui doit décrire<br />
astucieusement toutes les étapes de constructions de l’exécutable.<br />
Les construction et reconstruction de l’exécutable final sont particulièrement facilitées<br />
pour l’utilisateur, make travaillant par comparaison de date entre l'exécutable et ses<br />
dépendances. make ne re-exécute que les actions dépendant de modules dont la date de<br />
création est postérieure à la précédente date de construction de l'exécutable, et recrée cet<br />
exécutable automatiquement.<br />
make est très utilisé notamment pour diffuser des applications sous forme de sources, afin<br />
que l’utilisateur n’ait pas à se poser de questions quand aux compilations mais ait juste à<br />
taper make.<br />
Un fichier makefile peut contenir plusieurs objectifs à construire, appelés cibles.<br />
make<br />
make [-f fichier] [cible] : construit la cible précisée ou la première décrite si cible est omis.<br />
On décrira donc en général la cible totale en premier dans le makefile.<br />
• -f fichier : précise un fichier d'utilisation si le nom est différent de Makefile ou<br />
makefile<br />
Ecriture du fichier makefile :<br />
cible1:dépendances [cible2 cible3...]<br />
action<br />
cible2:dépendances<br />
action<br />
...<br />
On peut définir des variables dans le fichier makefile, et mettre des commentaires<br />
commençant par #.<br />
(Dans l'exemple suivant le touch des fichiers sert uniquement à modifier leur date de mise<br />
à jour et donc à simuler une édition avec modification de la source qui, aurait le même<br />
effet sur la date de dernière modification.)<br />
______________________________________________________________________<br />
exemple :<br />
$ cat makefile<br />
# construit s1 a partir de s1.f s2.f s3.f