Outils pour utilisateurs

Outils du site


fr:premier-makefile-complet

Dans cette section nous allons créer un fichier makefile pour compiler un simple programme C et nous allons analyser le comportement de make. Ce makefile contient 2 blocs. Le premier pour créer l'exécutable, le second pour créer un fichier objet.

Dans le premier bloc, la cible s'appelle « hello » et a besoin du fichier « hello.o » pour qu'elle puisse être créé et la commande « gcc -o hello hello.o » sera exécutée pour cela.

Dans le second bloc, on voit que l'objet dépend du fichier « hello.c » et que la commande « gcc -c hello.c » sera exécutée pour créer l'objet.

Make vérifie les dates de création avant de décider ce qui doit être fait. Voici les possibilités:

hello.o < hello – Le programme est à jour, mais on vérifie la règle pour hello.o avant de prendre une décision finale hello.c > hello.o – la source est plus récent donc on recompile l'objet ce qui entraîne la récompilation du programme hello.c < hello.o – l'objet est à jour, pas de récompilation du programme nécessaire

hello.o > hello – on doit recompiler le programme mais on vérifie quand même l'autre règle hello.c > hello.o – le source est plus récent donc on recrée l'objet avant de recompiler le programme hello.c < hello.o – pas nécessaire de refaire l'objet, on recompile seulement le programme.

Par défaut lorsque le programme make est appellé, il essaie toujours de créer la première cible du fichier. Si on désire créer une autre cible on peut la spécifier en argument sur la ligne de commande.

Donc si on entre la commande:

make

il essaiera de créer le programme « hello ». Si on entre la commande:

make hello.o

il essaiera seulement de créer le fichier « hello.o » Dans tous les cas, les dépendances sont vérifiées récursivement et si une cible a besoin d'une autre, elle sera créé d'abord.

  • Fichier attaché

hello.doc

makefile.docx

fr/premier-makefile-complet.txt · Dernière modification: 2014/05/28 18:10 de admin