Ejecutar NMAKE

Sintaxis

NMAKE [opción ...] [macros ...] [destinos ...] [@command-file ...]

Comentarios

NMAKE solo compila destinos especificados o, cuando no se especifica ninguno, el primer destino del archivo make. El primer destino makefile puede ser un pseudotarget que compila otros destinos. NMAKE usa archivos make especificados con /F, o si no se especifica /F, el archivo Makefile en el directorio actual. Si no se especifica ningún archivo make, usa reglas de inferencia para compilar destinos de línea de comandos.

El archivo de texto del archivo de comandos (o archivo de respuesta) contiene la entrada de la línea de comandos. Otra entrada puede preceder o seguir @command-file. Se permite una ruta de acceso. En el archivo de comandos, los saltos de línea se tratan como espacios. Incluya las definiciones de macro entre comillas si contienen espacios.

Opciones de NMAKE

Estas opciones se describen en la siguiente tabla. Las opciones van precedidas de una barra diagonal (/) o un guión (-) y no distinguen mayúsculas de minúsculas. Use !CMDSWITCHES para cambiar la configuración de la opción en un archivo Make o en Tools.ini.

Opción Propósito
/A Fuerza la compilación de todos los destinos evaluados, incluso si no están obsoletos en comparación con los dependientes. No fuerza las compilaciones de destinos no relacionados.
/B Fuerza la compilación incluso si las marcas de tiempo son iguales. Solo se recomienda para sistemas rápidos (resolución de dos segundos o menos).
/C Suprime la salida predeterminada, incluidos los errores o advertencias de NMAKE nofatales, las marcas de tiempo y el mensaje de copyright de NMAKE. Suprime las advertencias emitidas por /K.
/D Muestra las marcas de tiempo de cada destino evaluado y dependiente y un mensaje cuando no existe un destino. Resulta útil con /P paa depurar un archivo make. Use !CMDSWITCHES para establecer o borrar /D para parte de un archivo Make.
/E Hace que las variables de entorno invaliden las definiciones de macro makefile.
/ERRORREPORT [ NONE | PROMPT | QUEUE | SEND ] Obsoleto. Informes de control de configuración de Informe de errores de Windows (WER).
/Ffilename Especifica el nombre de archivo como un archivo make. Los espacios o pestañas pueden preceder al nombre de archivo. Especifique /F una vez para cada archivo make. Para proporcionar un archivo make de entrada estándar, especifique un guión (-) para el nombre de archivo y finalice la entrada del teclado con F6 o CTRL+Z.
/G Muestra los archivos make incluidos con la directiva !INCLUDE. Para más información, consulte Directivas de preprocesamiento de archivos Make.
/HELP, /? Muestra un breve resumen de la sintaxis de línea de comandos de BSCMAKE.
/I Omite los códigos de salida de todos los comandos. Para establecer o borrar /I para parte de un archivo Make, use !CMDSWITCHES. Para pasar por alto los códigos de salida de parte de un archivo Make, use un modificador de comando dash (-) o .IGNORE. invalida /K si se especifican ambos parámetros.
/K Continúa creando dependencias no relacionadas, si un comando devuelve un error. También emite una advertencia y devuelve un código de salida de 1. De forma predeterminada, NMAKE se detiene si algún comando devuelve un código de salida distinto de cero. Las advertencias de /K se suprimen mediante /C; /I invalida /K si se especifican ambos.
/N Muestra pero no ejecuta comandos; se ejecutan comandos de preprocesamiento. No muestra comandos en llamadas recursivas de NMAKE. Resulta útil para depurar archivos make y comprobar marcas de tiempo. Para establecer o borrar /N para parte de un archivo Make, use !CMDSWITCHES.
/NOLOGO Suprime el mensaje de copyright de NMAKE.
/P Muestra información (definiciones de macros, reglas de inferencia, destinos, lista .SUFFIXES) en la salida estándar y, a continuación, ejecuta la compilación. Si no existe ningún destino makefile o de línea de comandos, solo muestra información. Use con /D para depurar un archivo make.
/Q Comprueba las marcas de tiempo de los destinos; no ejecuta la compilación. Devuelve un código de salida cero si todos los destinos están actualizados y un código de salida distinto de cero si algún destino está obsoleto. Se ejecutan comandos de preprocesamiento. Resulta útil al ejecutar NMAKE desde un archivo por lotes.
/R Borra la lista .SUFFIXES y omite las reglas de inferencia y las macros definidas en el archivo Tools.ini o que están predefinidas.
/S Suprime la visualización de comandos ejecutados. Para suprimir la presentación en parte de un archivo make, use el modificador de comando @ o .SILENT. Para establecer o borrar /S para parte de un archivo Make, use !CMDSWITCHES.
/T Novedades marcas de tiempo de destinos de línea de comandos (o el primer destino makefile) y ejecuta comandos de preprocesamiento, pero no ejecuta la compilación.
/U No se puede usar con /N. Vuelva los archivos NMAKE insertados para que la salida /N se pueda usar como un archivo por lotes.
/Xfilename Envía la salida de error de NMAKE al nombre de archivo en lugar del error estándar. Los espacios o pestañas pueden preceder al nombre de archivo. Para enviar la salida de error a la salida estándar, especifique un guión (-) para el nombre de archivo. No afecta a la salida de comandos a un error estándar.
/Y Deshabilita las reglas de inferencia en modo por lotes. Cuando se selecciona esta opción, todas las reglas de inferencia en modo por lotes se tratan como reglas de inferencia normales.

Tools.ini y NMAKE

NMAKE lee Tools.ini antes de leer archivos make, a menos que se use /R. Busca primero Tools.ini en el directorio actual y, a continuación, en el directorio especificado por la variable de entorno INIT. La sección para la configuración de NMAKE en el archivo de inicialización comienza con [NMAKE] y puede contener cualquier información de archivo make. Especifique un comentario en una línea independiente a partir de un signo de número (#).

Códigos de salida de NMAKE

NMAKE devuelve los siguientes códigos de salida:

Código Significado
0 Sin error (posiblemente una advertencia)
1 Compilación incompleta (emitida solo cuando se usa /K)
2 Error del programa, posiblemente causado por uno de estos problemas:
- Un error de sintaxis en el archivo make
- Un código de error o salida de un comando
- Una interrupción por parte del usuario
4 Error del sistema: memoria insuficiente
255 El destino no está actualizado (solo se emite cuando se usa /Q).

Consulte también

Referencia de NMAKE