Compartir a través de


Definición de una macro NMAKE

Para definir macros de NMAKE se usa esta sintaxis:

macro_name=string

macro_name es una combinación que distingue mayúsculas de minúsculas de letras, dígitos y caracteres de subrayado (_) de hasta 1024 caracteres. macro_name puede contener una macro invocada. Si macro_name se compone completamente de una macro invocada, la macro que se invoca no puede ser nula o no definida.

string puede ser cualquier secuencia de cero, o más, caracteres. Una cadena null contiene cero caracteres o solo espacios o pestañas. string puede contener la invocación de una macro.

Caracteres especiales en las macros

Un signo numérico (#) después de una definición especifica un comentario. Para especificar un número literal, inicie sesión en una macro, use un símbolo de intercalación (^) como carácter de escape, como en ^#.

Un signo de dólar ($) especifica la invocación a una macro. Para especificar un literal $$, utilice $.

Para extender una definición a una nueva línea, agregue una barra diagonal inversa (\) al final. Cuando se invoca la macro, la barra diagonal inversa y el siguiente carácter de nueva línea se reemplazan por un espacio. Para especificar una barra diagonal inversa literal al final de la línea, escriba delante un carácter de intercalación (^) o detrás un especificador de comentario (#).

Para especificar un carácter de nueva línea literal, agregue un carácter de intercalación (^) a la línea, como en este ejemplo:

CMDS = cls^
dir

Macros Null y no definidas

Las macros null y las no definidas se expanden a cadenas null, pero una macro definida como cadena null se considera definida en expresiones de preprocesamiento. Para definir una macro como cadena null, no especifique ningún carácter, salvo espacios o pestañas después del signo igual (=) en una línea de comandos o un archivo de comandos y escriba la cadena o definición null entre comillas dobles (" "). Para anular la definición de una macro, use !UNDEF. Para más información, consulte Directivas de preprocesamiento de archivos Make.

Dónde definir macros

Defina macros en una línea de comandos, un archivo de comandos, un archivo Make o el archivo Tools.ini.

En un archivo Make o en el archivo Tools.ini, cada definición de macro debe aparecer en una línea independiente y no puede empezar con un espacio o una pestaña. Se omiten los espacios o pestañas que hay a ambos lados del signo igual. Todos los caracteres de cadena son literales, incluidas las comillas circundantes y los espacios insertados.

En una línea de comandos o un archivo de comandos, los espacios y las tabulaciones delimitan los argumentos y no pueden ir delante ni detrás del signo igual. Si la cadena tiene espacios o pestañas insertados, escriba la propia cadena o toda la macro entre comillas dobles (" ").

Prioridad en las definiciones de macro

Si una macro tiene varias definiciones, NMAKE usa la definición de prioridad máxima. En la siguiente lista se muestra el orden de prioridad, de mayor a menor:

  1. Una macro definida en la línea de comandos

  2. Una macro definida en un archivo Make o en un archivo include

  3. Una macro de variable de entorno heredada

  4. Una macro definida en el archivo Tools.ini

  5. Una macro predefinida, como CC y AS

Use /E para provocar que las macros heredadas de las variables de entorno invaliden las macros del archivo Make con el mismo nombre. Use !UNDEF para invalidar una línea de comandos.

Consulte también

Macros y NMAKE