메이크파일의 명령
설명 블록 또는 유추 규칙은 종속성이 만료된 경우 실행할 명령 블록을 지정합니다. NMAKE는 실행하기 전에 각 명령을 표시합니다(예: < !CMDSWITCHES
.SILENT
@
a0/S
/>). 설명 블록 뒤에 명령 블록이 없는 경우 NMAKE는 일치하는 유추 규칙을 찾습니다.
명령 블록에는 각각 자체 줄에 하나 이상의 명령이 포함됩니다. 종속성 또는 규칙과 명령 블록 사이에 빈 줄이 표시되지 않습니다. 그러나 공백이나 탭만 포함된 선은 표시할 수 있습니다. 이 줄은 null 명령으로 해석되며 오류가 발생하지 않습니다. 명령줄 사이에 빈 줄이 허용됩니다.
명령줄은 하나 이상의 공백 또는 탭으로 시작합니다. 백슬래시(\
) 뒤에 줄 바꿈 문자가 있으면 명령의 공백으로 해석됩니다. 줄 끝에 백슬래시를 사용하여 명령을 다음 줄로 계속 진행합니다. 공백이나 탭을 포함한 다른 문자가 백슬래시를 따르는 경우 NMAKE는 백슬래시를 문자 그대로 해석합니다.
명령 블록이 다음을 따르는지 여부에 관계없이 세미콜론(;
)이 앞에 오는 명령이 종속성 줄 또는 유추 규칙에 나타날 수 있습니다.
project.obj : project.c project.h ; cl /c project.c
명령 한정자
선택적으로 공백이나 탭으로 구분된 명령 앞에 하나 이상의 명령 한정자를 지정할 수 있습니다. 명령과 마찬가지로 한정자를 들여쓰기해야 합니다.
한정자 | 목적 |
---|---|
@ command |
명령의 표시를 방지합니다. 명령으로 표시하지 않습니다. 기본적으로 NMAKE는 실행된 모든 명령을 에코합니다. 전체 메이크파일의 표시를 표시하지 않는 데 사용합니다 /S . 메이크파일의 일부에 대한 표시를 표시하지 않는 데 사용합니다 .SILENT . |
- [number] 명령 |
명령에 대한 오류 검사를 해제합니다. 기본적으로 명령이 0이 아닌 종료 코드를 반환하면 NMAKE가 중지됩니다. -number를 사용하는 경우 종료 코드가 숫자를 초과하면 NMAKE가 중지됩니다. 대시와 숫자 사이에 공백이나 탭을 표시할 수 없습니다. 숫자와 명령 사이에 하나 이상의 공백 또는 탭이 나타나야 합니다. 전체 메이크파일의 오류 검사를 해제하는 데 사용합니다 /I . 메이크파일의 일부에 대한 오류 검사를 해제하는 데 사용합니다 .IGNORE . |
! command |
명령이 (종속성의 모든 종속 파일) 또는 $? (대상보다 이후 타임스탬프가 있는 종속성의 모든 종속 파일)을 사용하는 $** 경우 각 종속 파일에 대한 명령을 실행합니다. |
파일 이름 부분 구문
명령의 파일 이름 부분 구문은 첫 번째 종속 파일 이름(암시적 종속일 수 있음)의 구성 요소를 나타냅니다. 파일 이름 구성 요소는 디스크에 존재하지 않는 지정된 대로 파일의 드라이브, 경로, 기본 이름 및 확장명입니다. 전체 파일 이름을 나타내는 데 사용합니다 %s
. [parts](세로 막대 문자가 백분율 기호 뒤에 오름)를 사용하여 %|
파일 이름의 일부를 나타내며, 여기서 파트는 순서에 따라 다음 문자 중 0개 이상이 될 수 있습니다.F
문자 | 설명 |
---|---|
문자 없음 | 전체 이름(와 동일 %s ) |
d |
드라이브 |
p |
Path |
f |
파일 기본 이름 |
e |
파일 확장명 |
예를 들어 파일 이름이 다음과 같은 c:\prog.exe
경우
%s
은c:\prog.exe
이 됨%|F
은c:\prog.exe
이 됨%|dF
은c
이 됨%|pF
은c:\
이 됨%|fF
은prog
이 됨%|eF
은exe
이 됨