.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MAKE 1 "26 mai 2023" GNU "Commandes de l'utilisateur" .SH NOM make — Utilitaire GNU Make pour la maintenance de groupes de programmes .SH SYNOPSIS \fBmake\fP [\fIOPTION\fP]... [\fICIBLE\fP]... .SH DESCRIPTION .LP L'utilitaire \fImake\fP 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 \fBmake\fP 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 \fBmake\fP avec tout langage de programmation dont le compilateur peut être invoqué à l'aide de l'interpréteur de commandes. En fait, l'usage de \fBmake\fP 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. .LP Préalablement à l'utilisation de \fBmake\fP, vous devez écrire un fichier qui se nomme le \fImakefile\fP 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. .LP Une fois le fichier \fImakefile\fP écrit, chaque fois que vous modifierez un ou plusieurs fichiers source, la simple commande de l'interpréteur : .sp 1 .RS \fBmake\fP .RE .sp 1 suffira pour effectuer toutes les recompilations nécessaires. Le programme \fBmake\fP utilise les descriptions du \fImakefile\fP 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 \fImakefile\fP. .LP \fBmake\fP exécute les commandes du \fImakefile\fP pour mettre à jour une ou plusieurs \fIcibles\fP, chacune des \fIcibles\fP correspondant généralement à un programme. Si aucune option \fB\-f\fP n'est présente, \fBmake\fP va rechercher les fichiers de description \fIGNUmakefile\fP, \fImakefile\fP et \fIMakefile\fP, dans cet ordre. .LP Normalement, vous devez nommer votre fichier makefile \fImakefile\fP ou \fIMakefile\fP (nous recommandons \fIMakefile\fP, 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 \fIREADME\fP). Le premier nom de fichier recherché, \fIGNUmakefile\fP, 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 \fBmake\fP. Si \fImakefile\fP est « \- », c'est l'entrée standard qui est lue. .LP \fBmake\fP 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. .SH OPTIONS .sp 1 .TP 0.5i \fB\-b\fP, \fB\-m\fP Ces options sont ignorées pour des raisons de compatibilité avec les autres versions de \fBmake\fP. .TP 0.5i \fB\-B\fP, \fB\-\-always\-make\fP Traiter toutes les cibles de manière inconditionnelle. .TP 0.5i \fB\-C\fP \fIrépertoire\fP, \fB\-\-directory\fP=\fIrépertoire\fP Se positionner dans le répertoire \fIrépertoire\fP avant de lire les makefile ou de faire quoi que ce soit. Si plusieurs options \fB\-C\fP sont spécifiées, chacune d'entre elles est interprétée relativement à la précédente : \fB\-C \fP/ \fB\-C \fPetc est équivalent à \fB\-C \fP/etc. C'est souvent le cas avec les invocations récursives de \fBmake\fP. .TP 0.5i \fB\-d\fP 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 \fBmake\fP décide ce qu'il doit faire. .TP 0.5i \fB\-\-debug\fP\fI[=DRAPEAUX]\fP Afficher des informations de débogage en plus du traitement normal. Si \fIDRAPEAUX\fP est omis, l'effet de cette option est identique à celui de l'option \fB\-d\fP. \fIDRAPEAUX\fP 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 : \fIall\fP pour la totalité des sorties de débogage (identique à \fB\-d\fP), \fIbasic\fP pour un débogage basique, \fIverbose\fP pour un débogage basique plus explicite, \fIimplicit\fP pour afficher les opérations de recherche de règles implicites, \fIjobs\fP pour des détails sur l'invocation de commandes, \fImakefile\fP pour un débogage de la reconstruction des makefile, \fIprint\fP pour montrer toutes les recettes qui sont appliquées, même si elles sont silencieuses et \fIwhy\fP pour montrer la raison pour laquelle \fBmake\fP a décidé de recompiler chaque cible. Spécifiez \fInone\fP pour désactiver tous les drapeaux de débogage précédents. .TP 0.5i \fB\-e\fP, \fB\-\-environment\-overrides\fP Donner la priorité aux variables d'environnement par rapport aux variables contenues dans les makefile. .TP 0.5i \fB\-E\fP \fIchaîne\fP, \fB\-\-eval\fP \fIchaîne\fP Interpréter \fIchaîne\fP en utilisant la fonction \fBeval\fP avant l'interprétation de tout makefile. .TP 0.5i \fB\-f\fP \fIfichier\fP, \fB\-\-file\fP=\fIfichier\fP, \fB\-\-makefile\fP=\fIfichier\fP Utiliser \fIfichier\fP comme makefile. .TP 0.5i \fB\-i\fP, \fB\-\-ignore\-errors\fP Ignorer toutes les erreurs provoquées par les commandes exécutées pour reconstruire les fichiers. .TP 0.5i \fB\-I\fP \fIrépertoire\fP, \fB\-\-include\-dir\fP=\fIrépertoire\fP Spécifier un \fIrépertoire\fP pour rechercher des makefile inclus. Si plusieurs options \fB\-I\fP 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 \fBmake\fP, les répertoires spécifiés par le drapeau \fB\-I\fP peuvent être placés directement après le drapeau : \fB\-I\fP\fIrépertoire\fP est correct, tout comme \fB\-I\fP \fIrépertoire\fP. Cette syntaxe est permise à des fins de compatibilité avec le drapeau \fB\-I\fP du préprocesseur C. .TP 0.5i \fB\-j\fP [\fItravaux\fP], \fB\-\-jobs\fP[=\fItravaux\fP] Spécifier le nombre de \fItravaux\fP (commandes) à exécuter simultanément. S'il y a plusieurs options \fB\-j\fP, c'est la dernière qui est prise en compte. Si l'option \fB\-j\fP est spécifiée sans argument, \fBmake\fP ne fixera aucune limite au nombre de travaux pouvant être exécutés simultanément. .TP 0.5i \fB\-\-jobserver\-style=\fP\fIstyle\fP Le style de serveur de travaux (jobserver) à utiliser. Les différents \fIstyle\fPs possibles sont \fBfifo\fP, \fBpipe\fP ou \fBsem\fP (Windows seulement). .TP 0.5i \fB\-k\fP, \fB\-\-keep\-going\fP 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. .TP 0.5i \fB\-l\fP [\fIcharge\fP], \fB\-\-load\-average\fP[=\fIcharge\fP] 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 \fIcharge\fP (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. .TP 0.5i \fB\-L\fP, \fB\-\-check\-symlink\-times\fP Utiliser le dernier mtime entre les liens symboliques et la cible. .TP 0.5i \fB\-n\fP, \fB\-\-just\-print\fP, \fB\-\-dry\-run\fP, \fB\-\-recon\fP Afficher les commandes qui seraient exécutées, mais ne pas les exécuter (sauf dans certaines circonstances). .TP 0.5i \fB\-o\fP \fIfichier\fP, \fB\-\-old\-file\fP=\fIfichier\fP, \fB\-\-assume\-old\fP=\fIfichier\fP Ne pas reconstruire le fichier \fIfichier\fP 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 \fIfichier\fP. En gros, le fichier est considéré comme très ancien et ses règles sont ignorées. .TP 0.5i \fB\-O\fP[\fItype\fP], \fB\-\-output\-sync\fP[=\fItype\fP] Lorsque plusieurs travaux sont exécutés en parallèle avec \fB\-j\fP, 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 \fItype\fP n'est pas spécifié ou égal à \fBtarget\fP, les sorties de l'ensemble du traitement de chaque cible sont affichées d'un seul bloc. Si \fItype\fP est égal à \fBline\fP, les sorties de chaque ligne de commande d'une recette sont affichées d'un seul bloc. Si \fItype\fP est égal à \fBrecurse\fP, les sorties de l'ensemble d'un make récursif sont affichées d'un seul bloc. Enfin, si \fItype\fP est égal à \fBnone\fP, la synchronisation des sorties est désactivée. .TP 0.5i \fB\-p\fP, \fB\-\-print\-data\-base\fP 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 \fB\-v\fP (voir plus bas). Pour afficher la base de données sans essayer de reconstruire aucun fichier, utilisez \fImake \-p \-f/dev/null\fP. .TP 0.5i \fB\-q\fP, \fB\-\-question\fP « 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. .TP 0.5i \fB\-r\fP, \fB\-\-no\-builtin\-rules\fP 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. .TP 0.5i \fB\-R\fP, \fB\-\-no\-builtin\-variables\fP Ne définir aucune variable intégrée. .TP 0.5i \fB\-s\fP, \fB\-\-silent\fP, \fB\-\-quiet\fP Opération silencieuse ; ne pas afficher les commandes à mesure qu'elles sont exécutées. .TP 0.5i \fB\-\-no\-silent\fP Annuler l'effet de l'option \fB\-s\fP. .TP 0.5i \fB\-S\fP, \fB\-\-no\-keep\-going\fP, \fB\-\-stop\fP Annuler l'effet de l'option \fB\-k\fP. .TP 0.5i \fB\-t\fP, \fB\-\-touch\fP 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 \fBmake\fP. .TP 0.5i \fB\-\-trace\fP 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). .TP 0.5i \fB\-v\fP, \fB\-\-version\fP Afficher la version du programme \fBmake\fP plus un copyright, une liste d'auteurs et un avertissement indiquant qu'il n'y a aucune garantie. .TP 0.5i \fB\-w\fP, \fB\-\-print\-directory\fP 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 \fBmake\fP récursives. .TP 0.5i \fB\-\-no\-print\-directory\fP Désactiver \fB\-w\fP, même si cette option avait été implicitement activée. .TP 0.5i \fB\-\-shuffle\fP\fI[=MODE]\fP Activer le brassage de l'ordre d'exécution des cibles et de leurs prérequis. Les valeurs possibles de \fIMODE\fP sont les suivantes : \fInone\fP pour désactiver le mode brassage, \fIrandom\fP pour brasser les prérequis dans un ordre aléatoire, \fIreverse\fP pour brasser les prérequis dans l'ordre inverse ou un entier \fI\fP qui activera le mode \fIrandom\fP avec la valeur de \fIgraine\fP spécifiée. Si \fIMODE\fP est omis, sa valeur par défaut est \fIrandom\fP. .TP 0.5i \fB\-W\fP \fIfichier\fP, \fB\-\-what\-if\fP=\fIfichier\fP, \fB\-\-new\-file\fP=\fIfichier\fP, \fB\-\-assume\-new\fP=\fIfichier\fP Prétendre que la cible \fIfichier\fP vient d'être modifiée. Lorsqu'elle est utilisée avec le drapeau \fB\-n\fP, cette option vous permet de voir ce qui se passerait si vous modifiez ce fichier. Sans \fB\-n\fP, cette option produit le même effet que d'exécuter une commande \fItouch\fP sur le fichier donné avant d'exécuter \fBmake\fP, à la différence que la date de modification n'est modifiée que dans l'imagination de \fBmake\fP. .TP 0.5i \fB\-\-warn\-undefined\-variables\fP Afficher un avertissement lorsqu'une variable non définie est référencée. .SH "CODE DE RETOUR" GNU Make rend la main avec un état \fB0\fP si tous les makefile ont été traités avec succès et si aucune construction de cible n'a échoué. Un état \fB1\fP sera renvoyé si le drapeau \fB\-q\fP a été activé et si \fBmake\fP détermine qu'une cible a besoin d'être reconstruite. Un état \fB2\fP sera renvoyé si une erreur est rencontrée. .SH "VOIR AUSSI" La documentation complète de \fBmake\fP est maintenue sous forme de manuel Texinfo. Si les programmes \fBinfo\fP et \fBmake\fP sont correctement installés sur votre système, la commande .IP \fBinfo make\fP .PP devrait vous donner accès au manuel complet. .SH BOGUES Voir le chapitre « Problems and Bugs » dans \fILe manuel de GNU Make\fP. .SH 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. .SH COPYRIGHT Copyright \(co 1992\-1993, 1996\-2023 Free Software Foundation, Inc. Ce programme fait partie de \fIGNU Make\fP. .LP 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. .LP 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. .LP Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme. Dans le cas contraire, voir \fIhttps://www.gnu.org/licenses/\fP. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .