Supposons que nous ne fassions qu'un changement sur un seul des fichiers sources (comme cela se fait souvent au cours du développement). Faut-il tout recompiler à chaque fois? On pourrait penser à un script effectuant la compilation et l'édition de liens. Cependant, ce script réaliserait l'ensemble de toutes les opérations sans agir sélectivement sur le fichier modifié. En réalité, nous avons besoin d'un utilaire qui ne recompile que les sources modifiées. Cet utilitaire existe et s'appelle make.
make est un programme qui analyse un fichier Makefile dans le répertoire courant et effectue les opérations de compilation et d'édition de liens. Les fichiers Makefile contiennent une liste de règles et des dépendances décrivant comment construire un programme.
A l'intérieur d'un fichier Makefile, vous devez déclarer d'une part une liste de dépendances que make peut exploiter, et d'autre part, des commandes de shell.