Introduction

Comment trouver l'ordre de compilation et ne re-compiler que le nécessaire : make. make is a UNIX utility (just as ls, cd, awk…). Its main intended use is as a compilation tool.

Note: make is not especially for Fortran, it is designed as a tool for any compiled language.

À installer avec le gestionnaire de paquets de votre distribution Linux. Sur Ubuntu :

apt install make make-doc

Implémentations concurrentes de make

  • make date de 1976, plusieurs implémentations concurrentes de make ont été développées. Le langage de make dépend un peu de l'implémentation.
  • Nous voulons écrire un fichier pour make qui soit portable.

  • Solution : viser une implémentation de make particulière, GNU make. GNU make est aujourd'hui disponible sur toutes les machines Unix. GNU make est d'ailleurs l'implémentation qui a le plus de fonctionnalités.

GNUmakefile

  • Au lieu de stocker dans un fichier les commandes de compilation telles quelles, on stocke dans un fichier l'information nécessaire pour créer les commandes de compilation, dans le langage de make.

  • Les différentes implémentations de make cherchent par défaut un fichier appelé makefile ou Makefile. Seul GNU make cherche aussi un fichier appelé GNUmakefile.

  • Pour être sûr d'utiliser GNU make, choisir le nom GNUmakefile.