Directivas de preprocesamiento de archivos MAKE
Las directivas de preprocesamiento no distinguen entre mayúsculas y minúsculas. El signo de exclamación de cierre (!) debe aparecer al comienzo de la línea. Puede haber varios espacios o tabulaciones, o ninguno, a continuación del signo de exclamación para aplicar sangría.
!CMDSWITCHES
{+| –}opción... Activa o desactiva cada argumento option enumerado. Los espacios o tabulaciones deben estar delante del operador + o –; no pueden estar entre el operador y las letras de opción. Las letras no distinguen entre mayúsculas y minúsculas, y se especifican sin una barra oblicua (/). Para activar unas opciones y desactivar otras, se han de utilizar especificaciones independientes de !CMDSWITCHES.Sólo /D, /I, /N y /S se pueden usar en un archivo MAKE. En Tools.ini, están permitidas todas las opciones excepto /F, /HELP, /NOLOGO, /X y /?. Los cambios especificados en un bloque de descripción no tienen efecto hasta el siguiente bloque de descripción. Esta directiva actualiza MAKEFLAGS; los cambios se heredan durante la recursividad si se especifica MAKEFLAGS.
!ERROR texto
Muestra text en el error U1050 y después interrumpe NMAKE, aunque se utilicen /K, /I, .IGNORE, !CMDSWITCHES o el modificador de comando guión (–). Los espacios o tabulaciones delante de text se omiten.!MESSAGE texto
Muestra text para la salida estándar. Los espacios o tabulaciones delante de text se omiten.!INCLUDE[ <] filename[ >]
Lee filename como un archivo MAKE y después continúa con el archivo MAKE actual. NMAKE busca filename primero en el directorio especificado o actual; después, busca de forma recursiva en los directorios de los archivos MAKE primarios; a continuación, si filename está entre corchetes angulares (< >), busca en los directorios especificados por la macro INCLUDE, que se establece inicialmente en la variable de entorno INCLUDE. Es útil para pasar valores de .SUFFIXES, .PRECIOUS y reglas de inferencia a los archivos MAKE recursivos.!IF constantexpression
Procesa instrucciones entre !IF y la siguiente instrucción !ELSE o !ENDIF si constantexpression se evalúa como un valor distinto de cero.!IFDEF nombreDeMacro
Procesa instrucciones entre !IFDEF y la siguiente instrucción !ELSE o !ENDIF si el argumento macroname está definido. Una macro nula se considera que está definida.!IFNDEF nombreDeMacro
Procesa instrucciones entre !IFNDEF y la siguiente instrucción !ELSE o !ENDIF si el argumento macroname no está definido.!ELSE[IF expresiónConstante | IFDEF nombreDeMacro| IFNDEF nombreDeMacro]
Procesa instrucciones entre !ELSE y la siguiente instrucción !ENDIF si la instrucción !IF, !IFDEF o !IFNDEF anterior se evalúa como cero. Las palabras clave opcionales ofrecen un control de preprocesamiento superior.!ELSEIF
Sinónimo de !ELSE IF.!ELSEIFDEF
Sinónimo de !ELSE IFDEF.!ELSEIFNDEF
Sinónimo de !ELSE IFNDEF.!ENDIF
Marca el final de un bloque !IF, !IFDEF o !IFNDEF. El texto que sigue a continuación de !ENDIF en la misma línea se omite.!UNDEF nombreDeMacro
Deja sin definir macroname.