2013-08-21 3 views
19

에서 출력에 주석을 인쇄하지하는 방법은 다음과 같이하는 메이크 있습니다메이크

install: 
    @somecommand 

    #some explanation for next command 
    @lastcommand 

어떤 일이 것은 내가 make install을 실행할 때 주석 #some explanation for next command가 인쇄되는 것입니다. 어떻게 makefile에서 인쇄되지 않는 주석을 만들 수 있습니까? 어쩌면 내가 windowsy에 해당하는 유닉스 계열을 찾고 있는데 echo off?

(효과적으로, this question의 반대.)

답변

35

주석 들여 쓰기를하지 마십시오 - 라인이 탭이 시작되면 쉘에 의해 실행되는 명령은 (그리고 쉘이 주석으로 취급을 의견). 개념의

증명 (ss.mk) :

all: 
    echo "This is the first command" 
    # This comment is echoed 

# This comment is not echoed 
    echo "This is the second command" 

샘플 출력 :

는`@ '로 시작 들여 쓰기 의견도 표시되지 않습니다
$ make -f ss.mk 
echo "This is the first command" 
This is the first command 
# This comment is echoed 
echo "This is the second command" 
This is the second command 
$ 
+3

, 당신이 * 정말 * 들여 쓰기하려면 그것 :-) – cmbuckley

+3

@cbuckley : 그건 사실입니다 만,'make'는 코멘트를 스캔하고 코멘트라고 추론하는 쉘을 fork하고 exec 할 것이기 때문에 주석을 쓰는 매우 무거운 방법입니다. make가 성공적으로 종료하지 않는다면,'make'가 그것을 최적화하지 않는다면, 아마도 그렇게하지 않을 것입니다. –

+0

예 ... 이전에 내 의견은 "...하지만 어쩌면 말도 안되는 소리"로 끝났습니다. 왜 내가 그것을 제거했는지 모르겠습니다! – cmbuckley