다음을 통해 공유


메이크파일 전처리 지시문

업데이트: 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을 정의하지 않습니다.

참고 항목

개념

메이크파일 전처리