Content-type: text/html
Manpage of MAKE
MAKE
Section: Manuel de l'utilisateur Linux (1)
Updated: 22 août 1989
Index
Return to Main Contents
NOM
make - utilitaire GNU make pour maintenir des groupes de programmes
SYNOPSIS
make
[
-f
makefile
] [ option ] ...
cible ...
AVERTISSEMENT
Cette page de manuel est un extrait de la documentation de
GNU make.
Elle n'est mise à jour qu'occasionnellement, car le projet GNU n'utilise
pas nroff. Pour obtenir une documentation complète et à jour, référez-vous
au fichier Info
make.info
qui est créé à partir du fichier source Texinfo
make.texinfo.
DESCRIPTION
Le but de l'utilitaire
make
est de déterminer automatiquement quelles sont les parties d'un gros
programme qu'il faut recompiler, et d'exécuter les commandes appropriées.
Le manuel décrit l'implémentation GNU de
make,
qui a été écrite par Richard Stallman et Roland McGrath. Nos exemples
représentent des programmes C, puisqu'ils sont les plus courants, mais vous
pouvez utiliser
make
avec n'importe quel langage de programmation dont le compilateur peut être
lancé en ligne de commandes. En fait,
make
n'est pas limité aux seuls programmes. Vous pouvez l'utiliser pour décrire
n'importe quelle tâche dans laquelle certains fichiers doivent être mis à
jour automatiquement à partir d'autres fichiers quand ces derniers sont
modifiés.
Avant d'utiliser
make,
vous devez écrire un fichier appelé
makefile
qui décrit les relations entre les fichiers de votre programme, et qui
fournit les commandes nécessaires à la mise à jour de chacun d'entre eux.
Dans un programme, le fichier exécutable sera typiquement mis à jour à
partir de fichiers objets, qui sont eux-mêmes créés en compilant des
fichiers sources.
Quand un fichier makefile adéquat existe, chaque fois que vous modifierez
certains fichiers sources, cette simple commande shell :
-
make
suffira pour effectuer toutes les recompilations nécessaires. Le programme
make
utilise la base de données du makefile et les dates de dernière
modification des fichiers pour décider quels fichiers doivent être mis à
jour. Pour chacun de ces fichiers, il exécute les commandes enregistrées
dans la base de données.
make
exécute les commandes du
makefile
pour mettre à jour un ou plusieurs
noms
de cibles, où
nom
est typiquement un programme. Si aucune option
-f
n'est présente,
make
recherchera les makefiles
GNUmakefile,
makefile
et
Makefile,
dans cet ordre.
Normalement, vous devriez appeler votre makefile soit
makefile
soit
Makefile.
(Nous recommandons
Makefile
car il apparaît de façon bien visible près du début du listage d'un
répertoire, juste à côté d'autres fichiers importants comme
README.)
Le premier nom recherché,
GNUmakefile,
n'est pas recommandé pour la plupart des makefiles. Vous ne devriez
utiliser ce nom que si vous avez un makefile qui est spécifique au
make
GNU, et qui ne sera pas compris par d'autres versions de
make.
Si
makefile
est « - », l'entrée standard 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 la cible, ou si la cible
n'existe pas.
OPTIONS
- -b
-
- -m
-
Ces options sont ignorées, et sont présentes pour assurer la compatibilité
avec d'autres versions de
make.
- -C rép
-
Se déplacer dans le répertoire
rép
avant de lire les makefiles ou de faire quoi que ce soit d'autre. 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». Cela est typiquement utilisé lors d'invocations
récursives de
make.
- -d
-
Afficher des informations de débogage en plus du traitement normal. Les
informations de débogage indiquent quels fichiers sont évalués pour la
reconstruction, quels dates de fichiers sont comparées et avec quels
résultats, quels fichiers ont réellement besoin d'être recréés, quelles
règles implicites sont prises en compte et lesquelles sont
appliquées - bref, tout ce qu'il y a d'intéressant à savoir sur la
manière dont
make
décide de ce qu'il doit faire.
- -e
-
Donner la priorité aux variables d'environnement par rapport aux variables
des makefiles.
- -f fichier
-
Utiliser
fichier
en tant que makefile.
- -i
-
Ignorer toutes les erreurs dans les commandes exécutées pour reconstruire
les fichiers.
- -I rép
-
Spécifie un répertoire
rép
où il faut rechercher les makefiles inclus. Si plusieurs options
-I
sont utilisées pour spécifier plusieurs répertoires, les répertoires sont
parcourus dans l'ordre spécifié. À la différence des autres drapeaux de
make,
les répertoires fournis avec les drapeaux
-I
peuvent venir directement après le drapeau :
-Irép
est permis, tout comme -I rép. Cette syntaxe est admise pour
assurer la compatibilité avec le drapeau
-I
du préprocesseur C.
- -j travaux
-
Spécifie le nombre de travaux (commandes) à exécuter simultanément. S'il y
a plus d'une option
-j,
seule la dernière est utilisée.
Si l'option
-j
est fournie sans argument,
make
ne limitera pas le nombre de travaux qui peuvent être exécutés
simultanément.
- -k
-
Continuer autant que possible après une erreur. Même si la création de la
cible a échoué (et donc celle des cibles qui en dépendent), les autres
dépendances de ces cibles peuvent être traitées de la même façon.
- -l
-
- -l charge
-
Spécifier qu'aucun nouveau travail (commande) ne doit être commencé s'il y
a d'autres travaux en cours d'exécution et que la charge moyenne est d'au
moins
charge
(un nombre en virgule flottante). Sans argument, cette option supprime une
limite de charge fournie antérieurement.
- -n
-
Afficher les commandes qui seraient exécutées, mais ne pas les exécuter
réellement.
- -o fichier
-
Ne pas reconstruire le
fichier
même s'il est plus ancien que ses dépendances, et ne pas reconstruire quoi
que ce soit à cause de modifications dans
fichier.
Le fichier est essentiellement traité comme étant très âgé et ses règles
sont ignorées.
- -p
-
Afficher la base de données (règles et valeurs des variables) qui résultent
de la lecture des makefiles ; exécuter ensuite la commande comme elle est
spécifiée. Cela affiche également les informations de version fournies par
l'interrupteur
-v
(voir en dessous). Pour afficher la base de données sans essayer de
reconstruire le moindre fichier, utilisez make -p -f /dev/null.
- -q
-
« Mode question ». Ne pas lancer de commandes, ni afficher quoi que ce
soit, mais uniquement renvoyer une valeur de retour qui vaut 0 si les
cibles spécifiées sont déjà à jour, ou une valeur non nulle sinon.
- -r
-
Interdire l'utilisation des règles implicites intégrées. Effacer également
la liste des suffixes par défaut pour les règles se rapportant aux
suffixes.
- -s
-
Opération silencieuse ; ne pas afficher les commandes quand elles sont
exécutées.
- -S
-
Annuler l'effet de l'option
-k.
Cela n'est jamais nécessaire sauf pour un
make
récursif où
-k
peut être hérité à partir du
make
du plus haut niveau via MAKEFLAGS, ou si vous fournissez
-k
dans la variable MAKEFLAGS de votre environnement.
- -t
-
« Touch »er les fichiers (les marquer comme étant à jour sans réellement
les modifier) au lieu d'exécuter leurs commandes. Cela est utilisé pour
faire croire à make que les commandes ont été exécutées, afin de tromper
les invocations futures de
make.
- -v
-
Afficher la version de
make,
un copyright, une liste des auteurs et un avertissement indiquant l'absence
de garantie.
- -w
-
Afficher un message contenant le répertoire de travail avant et après
d'autres traitements. Cela peut être utile pour débusquer des erreurs se
produisant dans des imbrications compliquées de commandes
make
récursives.
- -W fichier
-
Faire croire que le
fichier
cible vient d'être modifié. Quand c'est utilisé avec le drapeau
-n,
cela montre ce qui se passerait si ce fichier était modifié. Sans
-n,
cela revient presque à exécuter la commande
touch
sur le fichier donné avant de lancer
make,
mis à part que la date de modification n'est modifiée que dans
l'imagination de
make.
VOIR AUSSI
The GNU Make Manual
BOGUES
Voir le chapitre « Problems and Bugs » dans
The GNU Make Manual.
AUTEUR
Cette page de manuel a été écrite par Dennis Morse de l'Université de
Stanford. Elle a été retravaillée par Roland McGrath.
TRADUCTION
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.
Index
- NOM
-
- SYNOPSIS
-
- AVERTISSEMENT
-
- DESCRIPTION
-
- OPTIONS
-
- VOIR AUSSI
-
- BOGUES
-
- AUTEUR
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 20:41:57 GMT, July 10, 2005