Newer
Older
cours-unix-shell / make / README.md

title: Make - UNIX

Make - UNIX

GNU Make est un héritier de make, mais sous Linux, c'est bien GNU Make qui est installé.

Make permet de gagner du temps par rapport aux shells: on n'exécute que ce qui est nécessaire, en fonction des changements de source par rapport à leur cible.

Un shell fait tous les traitements qui y sont indiqués.

Un shell fait tous les traitements qui y sont indiqués

Un make ne fait que les traitements qui sont nécessaires.

Un make ne fait que les traitements qui sont nécessaires

Syntaxe

Le fichier Makefile contient les règles de dépendance.

Une règle est de la forme :

cible: [fichier de départ] ...
    commande

⚠ La commande doit être précédée d'une tabulation!

Pour créer le fichier cible : make cible

Exemple de fichier Makefile :

# Commentaire
compte.txt: aCompter.txt
    wc -l < aCompter.txt > compte.txt

La deuxième fois qu'on lance la cible compte.txt, la commande wc n'est pas exécutée, sauf si le fichier aCompter.txt a une date de modification plus récente que celle de compte.txt.

Une règle qui ne dépend d'aucun fichier de départ peut exister.
De plus, elle ne peut donner lieu à la création d'un fichier.
Une telle règle sera toujours exécutée (à condition que son nom ne soit pas celui d'un fichier).

Références

Précédent - Suivant