Exécution de NMAKE
Syntaxe
NMAKE
[option ...] [macros ...] [cibles ...] [@
command-file ...]
Notes
NMAKE génère uniquement des cibles spécifiées ou, lorsqu’aucun n’est spécifié, la première cible dans le makefile. La première cible makefile peut être un pseudotarget qui génère d’autres cibles. NMAKE utilise des makefiles spécifiés avec /F
, ou s’il /F
n’est pas spécifié, le fichier Makefile dans le répertoire actif. Si aucun makefile n’est spécifié, il utilise des règles d’inférence pour générer des cibles de ligne de commande.
Le fichier texte de fichier de commande (ou fichier de réponse) contient une entrée de ligne de commande. D’autres entrées peuvent précéder ou suivre @command-file. Un chemin d’accès est autorisé. Dans le fichier de commandes, les sauts de ligne sont traités comme des espaces. Placez les définitions de macro entre guillemets s’ils contiennent des espaces.
Options de NMAKE
Les options NMAKE sont décrites dans le tableau suivant. Les options sont précédées d’une barre oblique (/
) ou d’un tiret (-
) et ne respectent pas la casse. Permet !CMDSWITCHES
de modifier les paramètres d’option dans un makefile ou dans Tools.ini
.
Option | Objectif |
---|---|
/A |
Force la génération de toutes les cibles évaluées, même si elles ne sont pas obsolètes par rapport aux cibles dépendantes. Ne force pas les builds de cibles non liées. |
/B |
Force la génération même si les horodatages sont égaux. Recommandé uniquement pour les systèmes rapides (résolution de deux secondes ou moins). |
/C |
Supprime la sortie par défaut, y compris les erreurs ou avertissements NMAKE nonfataux, les horodatages et le message de copyright NMAKE. Supprime les avertissements émis par /K . |
/D |
Affiche les horodatages de chaque cible évaluée et dépendante et d’un message lorsqu’une cible n’existe pas. Utile pour /P le débogage d’un makefile. Permet !CMDSWITCHES de définir ou d’effacer /D pour une partie d’un makefile. |
/E |
Provoque le remplacement des variables d’environnement par les définitions de macro makefile. |
/ERRORREPORT [ NONE SEND | | PROMPT | QUEUE ] |
Déconseillé. Rapports d’erreurs Windows (WER) contrôle la création de rapports. |
/F filename |
Spécifie le nom de fichier en tant que makefile. Les espaces ou les onglets peuvent précéder le nom de fichier. Spécifiez /F une fois pour chaque makefile. Pour fournir un makefile à partir d’une entrée standard, spécifiez un tiret (- ) pour le nom de fichier et terminez l’entrée clavier avec F6 ou Ctrl+Z. |
/G |
Affiche les makefiles inclus dans la !INCLUDE directive. Pour plus d’informations, consultez les directives de prétraitement Makefile. |
/HELP , /? |
Affiche un bref résumé de la syntaxe de ligne de commande NMAKE. |
/I |
Ignore les codes de sortie de toutes les commandes. Pour définir ou effacer /I pour une partie d’un makefile, utilisez !CMDSWITCHES . Pour ignorer les codes de sortie d’une partie d’un makefile, utilisez un modificateur de commande tiret (- ) ou .IGNORE . Remplace si /K les deux sont spécifiés. |
/K |
Continue à générer des dépendances non liées, si une commande retourne une erreur. Émet également un avertissement et retourne un code de sortie de 1. Par défaut, NMAKE s’arrête si une commande retourne un code de sortie différent de zéro. Les avertissements de /K sont supprimés par /C ; /I les remplacements /K si les deux sont spécifiés. |
/N |
Affiche, mais n’exécute pas de commandes ; Les commandes de prétraitement sont exécutées. N’affiche pas les commandes dans les appels NMAKE récursifs. Utile pour le débogage des makefiles et la vérification des horodatages. Pour définir ou effacer /N pour une partie d’un makefile, utilisez !CMDSWITCHES . |
/NOLOGO |
Supprime le message de copyright NMAKE. |
/P |
Affiche des informations (définitions de macros, règles d’inférence, cibles, .SUFFIXES liste) en sortie standard, puis exécute la build. Si aucune cible makefile ou de ligne de commande n’existe, elle affiche uniquement les informations. Utilisez-la /D pour déboguer un makefile. |
/Q |
Vérifie les horodatages des cibles ; n’exécute pas la build. Retourne un code de sortie zéro si toutes les cibles sont à jour et un code de sortie différent de zéro si une cible est obsolète. Les commandes de prétraitement sont exécutées. Utile lors de l’exécution de NMAKE à partir d’un fichier batch. |
/R |
Efface la .SUFFIXES liste et ignore les règles d’inférence et les macros définies dans le Tools.ini fichier ou prédéfinies. |
/S |
Supprime l’affichage des commandes exécutées. Pour supprimer l’affichage dans une partie d’un makefile, utilisez le @ modificateur de commande ou .SILENT . Pour définir ou effacer /S pour une partie d’un makefile, utilisez !CMDSWITCHES . |
/T |
Met à jour les horodatages des cibles de ligne de commande (ou la première cible makefile) et exécute des commandes de prétraitement, mais n’exécute pas la build. |
/U |
Cette option doit être utilisée en conjonction avec /N . Vidage des fichiers NMAKE inline afin que la /N sortie puisse être utilisée en tant que fichier batch. |
/X filename |
Envoie la sortie d’erreur NMAKE au nom de fichier au lieu d’une erreur standard. Les espaces ou les onglets peuvent précéder le nom de fichier. Pour envoyer une sortie d’erreur à la sortie standard, spécifiez un tiret (- ) pour le nom de fichier. N’affecte pas la sortie des commandes à l’erreur standard. |
/Y |
Désactive les règles d’inférence en mode batch. Lorsque cette option est sélectionnée, toutes les règles d’inférence en mode batch sont traitées comme des règles d’inférence régulières. |
Tools.ini et NMAKE
NMAKE lit Tools.ini
avant de lire des makefiles, sauf s’il /R
est utilisé. Il recherche d’abord Tools.ini
dans le répertoire actif, puis dans le répertoire spécifié par la variable d’environnement INIT. La section des paramètres NMAKE dans le fichier d’initialisation commence par [NMAKE]
et peut contenir des informations makefile. Spécifiez un commentaire sur une ligne distincte commençant par un signe numérique (#
).
Codes de sortie de NMAKE
NMAKE retourne les codes de sortie suivants :
Code | Signification |
---|---|
0 | Aucune erreur (éventuellement un avertissement) |
1 | Build incomplète (émise uniquement quand elle /K est utilisée) |
2 | Erreur de programme, peut-être causée par l’un de ces problèmes : - Erreur de syntaxe dans le makefile - Erreur ou code de sortie d’une commande - Interruption par l’utilisateur |
4 | Erreur système : mémoire insuffisante |
255 | La cible n’est pas à jour (émise uniquement quand elle /Q est utilisée) |