Les Makefiles définissent des règles au format cible : dépendances puis commandes indentées par des tabulations.
Ils compilent ou exécutent seulement les fichiers modifiés grâce à la comparaison des horodatages.
Les variables (:=, =, ?=, +=) permettent de réutiliser et de configurer facilement les chemins, flags et listes de fichiers.
Les jokers * et % servent à créer des règles génériques et à faire correspondre des motifs dans cibles et dépendances.
Les variables automatiques ($@, $<, $^, $?) fournissent le nom de la cible et de ses dépendances à chaque règle.
Les règles implicites (compilation .c → .o, liaison .o → exécutable) simplifient la rédaction en évitant d’écrire toutes les commandes.
Les cibles spéciales (.PHONY, .DELETE_ON_ERROR, clean) gèrent les actions non liées à un fichier et garantissent un comportement déterministe.
Les fonctions intégrées (subst, patsubst, foreach, filter, etc.) permettent de transformer du texte et de filtrer des listes de fichiers.
On peut inclure d’autres Makefiles avec include et définir des répertoires de recherche via vpath/VPATH.
Le Makefile Cookbook propose une structure complète pour gérer automatiquement les dépendances et organiser un projet C/C++ de taille moyenne.
Get notified when new stories are published for "🇫🇷 Hacker News Français"