메이크파일 전처리 지시문
업데이트: 2007년 11월
전처리 지시문은 대/소문자를 구분하지 않습니다. 맨 앞의 느낌표(!)는 줄의 시작에 표시해야 합니다. 느낌표 뒤에 공백이나 탭을 0개 이상 표시하여 들여쓸 수 있습니다.
!CMDSWITCHES
{+| –}option... 나열된 각 option을 설정 또는 해제합니다. 공백이나 탭은 +나 – 연산자 앞에 표시해야 하며 연산자와 옵션 문자 사이에는 표시할 수 없습니다. 옵션 문자는 대/소문자를 구분하지 않으며 슬래시( / )를 사용하지 않고 지정합니다. 일부 옵션만 설정하고 나머지는 해제하려면 별도의 !CMDSWITCHES 사양을 사용합니다.메이크파일에는 /D, /I, /N 및 /S만 사용할 수 있습니다. Tools.ini에는 /F, /HELP, /NOLOGO, /X 및 /?를 제외한 모든 옵션을 사용할 수 있습니다. 설명 블록에 지정된 변경 내용은 다음 설명 블록 이후에 적용됩니다. 이 지시문은 MAKEFLAGS를 업데이트하므로 MAKEFLAGS가 지정된 경우 재귀하는 동안 변경 내용이 상속됩니다.
!ERROR text
오류 U1050에 text를 표시한 다음 NMAKE를 중지합니다. /K, /I, .IGNORE, !CMDSWITCHES 또는 대시(–) 명령 한정자가 사용된 경우에도 적용됩니다. text 앞에 사용된 공백이나 탭은 무시됩니다.!MESSAGE text
text를 표준 출력에 표시합니다. text 앞에 사용된 공백이나 탭은 무시됩니다.!INCLUDE [<]filename[>]
filename을 메이크파일로 읽은 다음 현재 메이크파일을 계속 처리합니다. NMAKE는 먼저 현재 디렉터리나 지정된 디렉터리에서 filename을 찾은 다음 재귀적으로 모든 부모 메이크파일에서 찾습니다. 그런 다음 filename이 꺾쇠괄호(< >)로 묶여 있으면 INCLUDE 매크로를 사용하여 지정한 디렉터리에서 찾습니다. 이 매크로는 처음에 INCLUDE 환경 변수로 설정됩니다. 이 지시문은 .SUFFIXES 설정, .PRECIOUS 및 유추 규칙을 재귀적 메이크파일로 전달하는 데 유용합니다.!IF constantexpression
constantexpression이 0이 아닌 값으로 계산된 경우 !IF와 다음 !ELSE 또는 !ENDIF 사이의 문을 처리합니다.!IFDEF macroname
macroname이 정의된 경우 !IFDEF와 다음 !ELSE 또는 !ENDIF 사이의 문을 처리합니다. null 매크로는 정의된 것으로 간주합니다.!IFNDEF macroname
macroname이 정의되지 않은 경우 !IFNDEF와 다음 !ELSE 또는 !ENDIF 사이의 문을 처리합니다.!ELSE[IF constantexpression | IFDEF macroname| IFNDEF macroname]
이전 !IF, !IFDEF 또는 !IFNDEF 문이 0으로 계산된 경우 !ELSE와 다음 !ENDIF 사이의 문을 처리합니다. 선택적 키워드를 사용하면 전처리를 다양하게 제어할 수 있습니다.ElseIf
!ELSE IF의 동의어입니다.!ELSEIFDEF
!ELSE IFDEF의 동의어입니다.!ELSEIFNDEF
!ELSE IFNDEF의 동의어입니다.!ENDIF
!IF, !IFDEF 또는 !IFNDEF 블록의 끝을 표시합니다. 같은 줄에서 !ENDIF 뒤에 오는 텍스트는 무시됩니다.!UNDEF macroname
macroname을 정의하지 않습니다.