Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
make [Le 30/12/2015, 00:07] – [Affectations] faute de frappe 88.178.62.246make [Le 13/09/2016, 16:44] (Version actuelle) – reformulation phrase intro, ajout liens bcag2
Ligne 1: Ligne 1:
 +{{tag>compilation programmation}}
 +----
  
 +====== Make ======
 +make est un utilitaire pour "scripter" la compilation et l'édition de liens\\
 +Sa syntaxe est au premier abord déroutante...
 +
 +===== Affectations =====
 +  *  =  affectation par "référence" (signifie que, quand on pose  A=$(B) et que B est défini plus loin dans le makefile, on affecte à A la (dernière) valeur de B quand même).
 +  * :=  affectation par "valeur" (signifie que, quand on pose  A:=$(B) et que B est défini plus loin dans le makefile, on affecte à A la valeur de vide).
 +  * ?= affectation conditionnelle
 +  * += affectation par concaténation (ajout à droite, avec un espace)
 +
 +===== Variables internes =====
 +''cible : dépendance1 dépendance2 dépendance 3 \\
 +                  commande''
 +
 +| $@ |Le nom de la cible|
 +| $< |Le nom de la première dépendance|
 +| $^ |La liste des dépendances|
 +| $? |La liste des dépendances plus récentes que la cible|
 +|$* |Le nom du fichier sans suffixe|
 +
 +===== Références/Liens =====
 +[[http://www.labri.fr/perso/billaud/IUT/AP2-POO-0910/060-faire-makefile.pdf]]\\
 +[[http://www.gnu.org/software/make/manual/make.html | doc officielle de make sur gnu.org (en)]]