| .. | |||
| README.md | 2 years ago | ||
| tp.md | 2 years ago | ||
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 make ne fait que les traitements qui sont nécessaires.

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).