Man page - make(1)
Packages contains this manual
Available languages:
en fr es pl da ja ru ro deManual
MAKE
NOMSYNOPSIS
DESCRIPTION
OPTIONS
CODE DE RETOUR
VOIR AUSSI
BOGUES
AUTEUR
COPYRIGHT
TRADUCTION
NOM
make â Utilitaire GNU Make pour la maintenance de groupes de programmes
SYNOPSIS
make [ OPTION ]... [ CIBLE ]...
DESCRIPTION
Lâutilitaire make dĂ©termine automatiquement quels Ă©lĂ©ments dâun programme complexe doivent ĂȘtre recompilĂ©s et gĂ©nĂšre les commandes appropriĂ©es Ă cette recompilation. Ce manuel dĂ©crit lâimplĂ©mentation GNU de make qui a Ă©tĂ© Ă©crite par Richard Stallman et Roland McGrath, et est actuellement entretenue par Paul Smith. Nos exemples montrent des programmes en langage C, car ils sont parmi les plus courants, mais vous pouvez utiliser make avec tout langage de programmation dont le compilateur peut ĂȘtre invoquĂ© Ă lâaide de lâinterprĂ©teur de commandes. En fait, lâusage de make ne se limite pas aux programmes. Vous pouvez aussi lâutiliser pour toute tĂąche oĂč certains fichiers doivent ĂȘtre automatiquement mis Ă jour Ă partir dâautres fichiers chaque fois que ces autres fichiers sont modifiĂ©s.
PrĂ©alablement Ă lâutilisation de make , vous devez Ă©crire un fichier qui se nomme le makefile et qui dĂ©crit les relations entre les fichiers de votre programme et fournit les commandes pour mettre Ă jour chacun dâentre eux. Dans un programme, le fichier exĂ©cutable est en gĂ©nĂ©ral mis Ă jour Ă partir des fichiers objet qui sont eux-mĂȘmes gĂ©nĂ©rĂ©s en compilant les fichiers source.
Une fois le fichier makefile Ă©crit, chaque fois que vous modifierez un ou plusieurs fichiers source, la simple commande de lâinterprĂ©teur :
make
suffira pour effectuer toutes les recompilations nĂ©cessaires. Le programme make utilise les descriptions du makefile et la date de derniĂšre modification des fichiers pour dĂ©terminer lesquels doivent ĂȘtre mis Ă jour. Pour chacun dâentre eux, il gĂ©nĂšre les commandes enregistrĂ©es dans le makefile .
make exĂ©cute les commandes du makefile pour mettre Ă jour une ou plusieurs cibles , chacune des cibles correspondant gĂ©nĂ©ralement Ă un programme. Si aucune option -f nâest prĂ©sente, make va rechercher les fichiers de description GNUmakefile , makefile et Makefile , dans cet ordre.
Normalement, vous devez nommer votre fichier makefile makefile ou Makefile (nous recommandons Makefile , car il apparaĂźtra alors en premier au dĂ©but du listing du contenu dâun rĂ©pertoire et Ă proximitĂ© dâautres fichiers importants comme README ). Le premier nom de fichier recherchĂ©, GNUmakefile , nâest pas recommandĂ© pour la plupart des makefile. Ce nom devra cependant ĂȘtre utilisĂ© si votre makefile est spĂ©cifique Ă GNU Make et ne sera pas comprĂ©hensible par les autres versions de make . Si makefile est « - », câest lâentrĂ©e standard qui est lue.
make met Ă jour une cible si elle dĂ©pend de fichiers prĂ©requis qui ont Ă©tĂ© modifiĂ©s depuis la derniĂšre modification de cette cible ou si cette cible nâexiste pas.
OPTIONS
-b , -m
Ces options sont ignorées pour des raisons de compatibilité avec les autres versions de make .
-B , --always-make
Traiter toutes les cibles de maniĂšre inconditionnelle.
-C répertoire , --directory = répertoire
Se positionner dans le rĂ©pertoire rĂ©pertoire avant de lire les makefile ou de faire quoi que ce soit. Si plusieurs options -C sont spĂ©cifiĂ©es, chacune dâentre elles est interprĂ©tĂ©e relativement Ă la prĂ©cĂ©dente : -C / -C etc est Ă©quivalent Ă -C /etc. Câest souvent le cas avec les invocations rĂ©cursives de make .
|
-d |
Afficher les informations de dĂ©bogage en plus du traitement normal. Les informations de dĂ©bogage indiquent quels fichiers sont susceptibles dâĂȘtre reconstruits, quelles dates de fichiers sont comparĂ©es et avec quel rĂ©sultat, quels fichiers doivent ĂȘtre effectivement reconstruits, quelles rĂšgles implicites sont susceptibles dâĂȘtre mises en jeu et lesquelles seront appliquĂ©es â en un mot tout ce qui explique comment make dĂ©cide ce quâil doit faire. |
--debug [=DRAPEAUX]
Afficher des informations de dĂ©bogage en plus du traitement normal. Si DRAPEAUX est omis, lâeffet de cette option est identique Ă celui de lâoption -d . DRAPEAUX peut contenir un, plusieurs ou tous les noms suivants sĂ©parĂ©s par des virgules ou des espaces. Seul le premier caractĂšre est significatif : le reste peut ĂȘtre omis : all pour la totalitĂ© des sorties de dĂ©bogage (identique Ă -d ), basic pour un dĂ©bogage basique, verbose pour un dĂ©bogage basique plus explicite, implicit pour afficher les opĂ©rations de recherche de rĂšgles implicites, jobs pour des dĂ©tails sur lâinvocation de commandes, makefile pour un dĂ©bogage de la reconstruction des makefile, print pour montrer toutes les recettes qui sont appliquĂ©es, mĂȘme si elles sont silencieuses et why pour montrer la raison pour laquelle make a dĂ©cidĂ© de recompiler chaque cible. SpĂ©cifiez none pour dĂ©sactiver tous les drapeaux de dĂ©bogage prĂ©cĂ©dents.
-e , --environment-overrides
Donner la prioritĂ© aux variables dâenvironnement par rapport aux variables contenues dans les makefile.
-E chaĂźne , --eval chaĂźne
InterprĂ©ter chaĂźne en utilisant la fonction eval avant lâinterprĂ©tation de tout makefile.
-f fichier , --file = fichier , --makefile = fichier
Utiliser fichier comme makefile.
-i , --ignore-errors
Ignorer toutes les erreurs provoquées par les commandes exécutées pour reconstruire les fichiers.
-I répertoire , --include-dir = répertoire
SpĂ©cifier un rĂ©pertoire pour rechercher des makefile inclus. Si plusieurs options -I sont utilisĂ©es pour spĂ©cifier plusieurs rĂ©pertoires, la recherche sâeffectue dans ces rĂ©pertoires selon lâordre dans lequel ils sont spĂ©cifiĂ©s. Ă la diffĂ©rence des arguments des autres drapeaux de make , les rĂ©pertoires spĂ©cifiĂ©s par le drapeau -I peuvent ĂȘtre placĂ©s directement aprĂšs le drapeau : -I rĂ©pertoire est correct, tout comme -I rĂ©pertoire . Cette syntaxe est permise Ă des fins de compatibilitĂ© avec le drapeau -I du prĂ©processeur C.
-j [ travaux ], --jobs [= travaux ]
SpĂ©cifier le nombre de travaux (commandes) Ă exĂ©cuter simultanĂ©ment. Sâil y a plusieurs options -j , câest la derniĂšre qui est prise en compte. Si lâoption -j est spĂ©cifiĂ©e sans argument, make ne fixera aucune limite au nombre de travaux pouvant ĂȘtre exĂ©cutĂ©s simultanĂ©ment.
--jobserver-style= style
Le style de serveur de travaux (jobserver) à utiliser. Les différents style s possibles sont fifo , pipe ou sem (Windows seulement).
-k , --keep-going
Continuer autant que possible aprĂšs une erreur. Alors que la cible qui a Ă©chouĂ©, ainsi que celles qui en dĂ©pendent, ne peuvent pas ĂȘtre reconstruites, les autres dĂ©pendances de ces cibles peuvent tout de mĂȘme ĂȘtre traitĂ©es.
-l [ charge ], --load-average [= charge ]
EmpĂȘcher le dĂ©marrage de nouveaux travaux (commandes) si dâautres travaux sont en cours dâexĂ©cution et si la charge moyenne est au moins de charge (un nombre en virgule flottante). Si aucun argument nâest spĂ©cifiĂ©, une Ă©ventuelle limitation de charge prĂ©cĂ©demment dĂ©finie sera annulĂ©e.
-L , --check-symlink-times
Utiliser le dernier mtime entre les liens symboliques et la cible.
-n , --just-print , --dry-run , --recon
Afficher les commandes qui seraient exécutées, mais ne pas les exécuter (sauf dans certaines circonstances).
-o fichier , --old-file = fichier , --assume-old = fichier
Ne pas reconstruire le fichier fichier mĂȘme sâil est plus ancien que les fichiers dont il dĂ©pend, et ne pas reconstruire ce qui devrait lâĂȘtre suite aux modifications de fichier . En gros, le fichier est considĂ©rĂ© comme trĂšs ancien et ses rĂšgles sont ignorĂ©es.
-O [ type ], --output-sync [= type ]
Lorsque plusieurs travaux sont exĂ©cutĂ©s en parallĂšle avec -j , sâassurer que les sorties de chaque travail sont affichĂ©es dâun seul bloc, au lieu dâĂȘtre intercalĂ©es avec les sorties des autres travaux. Si type nâest pas spĂ©cifiĂ© ou Ă©gal Ă target , les sorties de lâensemble du traitement de chaque cible sont affichĂ©es dâun seul bloc. Si type est Ă©gal Ă line , les sorties de chaque ligne de commande dâune recette sont affichĂ©es dâun seul bloc. Si type est Ă©gal Ă recurse , les sorties de lâensemble dâun make rĂ©cursif sont affichĂ©es dâun seul bloc. Enfin, si type est Ă©gal Ă none , la synchronisation des sorties est dĂ©sactivĂ©e.
-p , --print-data-base
Afficher la base de donnĂ©es (les rĂšgles et les valeurs des variables) gĂ©nĂ©rĂ©e par lâinterprĂ©tation des makefile, puis fonctionner de la maniĂšre habituelle ou selon instructions particuliĂšres. Afficher aussi les informations de version telles quâelles sont fournies avec lâoption -v (voir plus bas). Pour afficher la base de donnĂ©es sans essayer de reconstruire aucun fichier, utilisez make -p -f/dev/null .
-q , --question
« Mode question ». NâexĂ©cuter aucune commande et ne rien afficher ; renvoyer simplement un code dâĂ©tat de sortie Ă©gal Ă zĂ©ro si les cibles spĂ©cifiĂ©es sont dĂ©jĂ Ă jour ou diffĂ©rent de zĂ©ro dans le cas contraire.
-r , --no-builtin-rules
EmpĂȘcher lâutilisation des rĂšgles implicites intĂ©grĂ©es. Effacer aussi la liste de suffixes par dĂ©faut pour les rĂšgles de suffixe.
-R , --no-builtin-variables
Ne définir aucune variable intégrée.
-s , --silent , --quiet
OpĂ©ration silencieuse ; ne pas afficher les commandes Ă mesure quâelles sont exĂ©cutĂ©es.
--no-silent
Annuler lâeffet de lâoption -s .
-S , --no-keep-going , --stop
Annuler lâeffet de lâoption -k .
-t , --touch
Marquer les fichiers comme modifiĂ©s (les marquer comme Ă jour sans vraiment les modifier) au lieu dâexĂ©cuter leurs commandes. Cette fonctionnalitĂ© permet de prĂ©tendre que les commandes ont Ă©tĂ© exĂ©cutĂ©es afin de tromper les futures invocations de make .
--trace
Afficher des informations à propos de la situation de chaque cible (pourquoi la cible est reconstruite et quelles commandes sont exécutées pour cette reconstruction).
-v , --version
Afficher la version du programme make plus un copyright, une liste dâauteurs et un avertissement indiquant quâil nây a aucune garantie.
-w , --print-directory
Afficher un message contenant le rĂ©pertoire de travail avant et aprĂšs dâautres traitements. Cela peut sâavĂ©rer utile pour rechercher des erreurs issues dâune imbrication complexe de commandes make rĂ©cursives.
--no-print-directory
DĂ©sactiver -w , mĂȘme si cette option avait Ă©tĂ© implicitement activĂ©e.
--shuffle [=MODE]
Activer le brassage de lâordre dâexĂ©cution des cibles et de leurs prĂ©requis. Les valeurs possibles de MODE sont les suivantes : none pour dĂ©sactiver le mode brassage, random pour brasser les prĂ©requis dans un ordre alĂ©atoire, reverse pour brasser les prĂ©requis dans lâordre inverse ou un entier <graine> qui activera le mode random avec la valeur de graine spĂ©cifiĂ©e. Si MODE est omis, sa valeur par dĂ©faut est random .
-W fichier , --what-if = fichier , --new-file = fichier , --assume-new = fichier
PrĂ©tendre que la cible fichier vient dâĂȘtre modifiĂ©e. Lorsquâelle est utilisĂ©e avec le drapeau -n , cette option vous permet de voir ce qui se passerait si vous modifiez ce fichier. Sans -n , cette option produit le mĂȘme effet que dâexĂ©cuter une commande touch sur le fichier donnĂ© avant dâexĂ©cuter make , Ă la diffĂ©rence que la date de modification nâest modifiĂ©e que dans lâimagination de make .
--warn-undefined-variables
Afficher un avertissement lorsquâune variable non dĂ©finie est rĂ©fĂ©rencĂ©e.
CODE DE RETOUR
GNU Make rend la main avec un Ă©tat 0 si tous les makefile ont Ă©tĂ© traitĂ©s avec succĂšs et si aucune construction de cible nâa Ă©chouĂ©. Un Ă©tat 1 sera renvoyĂ© si le drapeau -q a Ă©tĂ© activĂ© et si make dĂ©termine quâune cible a besoin dâĂȘtre reconstruite. Un Ă©tat 2 sera renvoyĂ© si une erreur est rencontrĂ©e.
VOIR AUSSI
La documentation complÚte de make est maintenue sous forme de manuel Texinfo. Si les programmes info et make sont correctement installés sur votre systÚme, la commande
info make
devrait vous donner accĂšs au manuel complet.
BOGUES
Voir le chapitre « Problems and Bugs » dans Le manuel de GNU Make .
AUTEUR
Cette page de manuel a Ă©tĂ© rĂ©digĂ©e par Dennis Morse de lâUniversitĂ© de Stanford. Des mises Ă jour ultĂ©rieures ont Ă©tĂ© apportĂ©es par Mike Frysinger. Elle a Ă©tĂ© remaniĂ©e par Roland McGrath et est maintenue par Paul Smith.
COPYRIGHT
Copyright © 1992-1993, 1996-2023 Free Software Foundation, Inc. Ce programme fait partie de GNU Make .
GNU Make est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle quâelle est publiĂ©e par la Free Software Foundation ; la version 3 de la licence ou (selon votre choix) toute version ultĂ©rieure.
GNU Make est distribuĂ© dans lâespoir quâil sera utile, mais SANS AUCUNE GARANTIE ; sans mĂȘme la garantie implicite de QUALITĂ MARCHANDE ou dâADĂQUATION Ă UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de dĂ©tails.
Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme. Dans le cas contraire, voir https://www.gnu.org/licenses/ .
TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .