C : Créer Un Makefile Pour Ses Projets
Maybe your like
Temps estimé pour la lecture de cet article : 23 min
Salut, salut !
Nous allons parler d’un outil très connu des développeurs make ! Quand on crée des projets de plus en plus conséquents, la production de code (compilation, éditions de liens) peut-être assez difficile à gérer « à la main » dès que le projet devient conséquent. Make est un outil qui va nous aider dans la gestion de projets. L’outil est assez facile à appréhender, il est basé sur une certain nombre de principes et de syntaxes simples.
Introduction
Make présente un très bon avantage. Supposez que vous trouviez un bogue dans un fichier c, et que vous deviez le corriger. Pour pouvoir obtenir un nouveau programme compilé, il faut recompiler tous les fichiers, les en-têtes et le code source, même si vous changez juste un fichier. C’est là, que make intervient au lieu de compiler la totalité du code source, il ne construit que le code source qui a subi des changements.
Les Makefiles sont justement des fichiers utilisés par le programme make pour exécuter un ensemble d’actions, comme la compilation d’un projet, l’archivage de documents, la création de la documentation… À travers mon article je vais tenter de vous faire une brève introduction au fonctionnement d’un makefile, notamment grâce à la compilation d’un projet C. Nous commencerons par présenter la syntaxe puis nous verrons l’outil à travers un exemple.
La syntaxe d’un makefile
Tout d’abord, make ne fonctionne qu’avec des fichiers qui se nomment Makefile ou makefile. Toutefois il est possible de créer un makefile avec un autre nom. Par exemple, si nous avons un makefile appelé test, alors la commande à utiliser pour donner l’ordre à make de traiter ce fichier est :
make -f testUn makefile se compose d’une section cible, dépendances et règles. Les dépendances sont les éléments ou le code source nécessaires pour créer une cible ; la cible est le plus souvent un nom d’exécutable ou de fichier objet. Les règles sont les commandes nécessaires pour créer la cible.
cible: dépendances règlesIl est possible de définir, des variables dans votre fichier par exemple, le compilateur que l’on va choisir, le chemin vers les sources… Par exemple :
CC=g++Pour écrire des commentaires, il suffit de placer un #.
# Ceci est un commentaireIl existe quelques variables internes au makefile, en voici quelques-unes :