Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSD /

Make

Page mise à jour le 04/03/2020 16:24

GNU/make est un outils de compilation automatique.

Règles de bases

Le fichier par défaut est Makefile et il peut être changer par l'option -f <file>

La syntaxe de base est de la forme:

  <cible>: <composant> [ <composant> ]
  <tab>command
  <tab>command
  <cr>

En EBNF nous avons

  <cible> = <chaine> 
  <variable> = <valeur> | $(<fonction> <arg> <arg>)

  <composant>

Explication:

  • une <cible> est un paramétré qui peut être appelé par make pour exécuter les commandes associées
  • <composant> est une sous cible ou un chaine représentant un fichier
  • <tab> est le caractère tabulation
  • <cr> est le retour chariot

Règle générique

Permet de définir une règle pour tout les fichiers de type .ext.

Par exemple, pouvoir compiler tout les .c en .o:

 %.: %c
 <tab>$(CC) -c $< -o $@


 $@ : fait référence à la cible.
 $? : contient les noms de tous les composants plus récents que la cible.
 $< : contient le premier composant d'une règle.
 $^ : contient tous les composants d'une règle.

Trucs et Astuces

debug

Permet d'afficher la valeur d'une variable en tapant :

 make pcrint-<varname>

from https://stackoverflow.com/questions/16467718/how-to-print-out-a-variable-in-makefile

 print-%:
   @ echo \$* = \$(\$*)

Liens Externes

 * Site Officiel (en) « GNU make » (consulté le 4 mar 2020)
À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 04/03/2020 16:24