• Aucun résultat trouvé

Rappel sur Makefile

N/A
N/A
Protected

Academic year: 2022

Partager "Rappel sur Makefile"

Copied!
2
0
0

Texte intégral

(1)

A. Djebali Rappels sur Makefile

1

Rappel sur Makefile

1.2. Compilation séparée

Avantages :

- la programmation est modulaire ; - Plus de lisibilité ;

- la maintenance facile.

-

Commande make : La compilation séparée, sous unix, se fait avec la commande make.

Elle permet :

- permet de ne recompiler que le code modifié, - d’accéder aux commandes shell. ,

- d’utiliser macro-commandes et des variables.

1.3. Mise en oeuvre

La commande make utilise un fichier nommé Makefile.

Le fichier Makefile indique à la commande make comment exécuter les commandes nécessaires.

Les instructions contenues dans ce fichier doivent respecter une syntaxe particulière expliquée ci-après.

2. Cible et Règles

2.1. Règles

Les fichiers Makefile sont structurés grâce aux règles ; ce sont elles qui définissent ce qui doit être exécuté et qui permettent de compiler un programme.

règles : est une suite d’instructions qui seront exécutées pour construire une cible.

La syntaxe d’une règle est la suivante :

cible : dépendances commandes

L’espace avant commandes est obligatoire et doit être fait avec une tabulation.

2.2. Cible

La cible est généralement le nom d’un fichier qui va être généré par les commandes qui vont suivre.

(2)

A. Djebali Rappels sur Makefile

2 2.3. Dépendances

Les dépendances sont les fichiers ou les règles nécessaires à la création de la cible. Par exemple, pour la compilation C, les dépendances peuvent contenir un fichier d’en-tête ou un fichier source ;

2.4.Commandes

Les commandes sont des commandes shell qui seront exécutées au moment de la construction de la cible. La tabulation avant les commandes est obligatoire et si la commande dépasse une ligne, il est nécessaire de signaler la fin de ligne avec un caractère antislash "\".

3. Un exemple de fichier Makefile

# Exemplaire de commentaire Mon premier Makefile princ: princ.o ajout.o modif.o efface.o

gcc -o princ princ.o ajout.o modif.o efface.o -lm tri_tas.o: tri_tas.c

gcc -Wall -c tri_tas.c efface.o: efface.c

gcc -Wall -c efface.c princ.o: princ.c

gcc -Wall -c princ.c ajout.o: ajout.c

gcc -Wall -c ajout.c modif.o: modif.c

gcc -Wall -c modif.c

clean:

rm *.o

tabulation !!

Effacer les fichiers temporaires

On a souvent besoin de recompiler tous les ‘sources’, ou de nettoyer le répertoire de travail.

Au lieu de lancer, à chaque fois, des rm, il est possible de le faire faire à make..

Pour effacer les fichiers objets du projet, il suffit de d'écrire la règle suivante qui s'appelle clean par convention :

clean:

rm *.o

Références

Documents relatifs

- la première dépendance est prog.o ; comme c'est aussi la cible prog.o, make examine d'abord sa règle: elle possède 2 dépendances: prog.c et calcul.h qui ne sont pas des

J'ai garni les panneaux d'affichage de photos, de dessins (Documentation par l'image, Pédagogie pratique) retirés aussi du fichi er. de l'ordre avant tout) en utilisant

Prix des chargeurs à définir entre les

[r]

[r]

(frais de

[r]

[r]