2011-08-17 3 views
4

$(info) 함수 호출을 사용하여 사용자에게 몇 가지 정보를 표시하는 makefile이 있습니다. 그러나 makefile에는 gcc -M을 통해 업데이트되는 자동 생성 종속성 파일도 포함됩니다. 이러한 의존성을 다시 만들어야 할 때마다 GNU Make는 모든 것을 다시 재분석하므로 $(info) 및 비슷한 호출로 생성 된 출력을 복제합니다.

$(info) 행의 중복을 피하기 위해 GNU Make가 메이크 파일에서 첫 번째 또는 두 번째 패스를 수행하는지 확인하는 방법이 있습니까?

+1

컴파일하기 전에 종속성을 생성하는 것처럼 들리지만 실제로는 필요하지 않습니다. http://stackoverflow.com/questions/7353426/automatic-header-dependencies-with-gmake/7358961#7358961 –

답변

5

방금 ​​내가 직접 발견했습니다 : MAKE_RESTARTS 변수는 GMake가 위의 상황에서 다시 시작되면 정의됩니다. 예를 들어, 구성 :

ifndef MAKE_RESTARTS 
    $(info Hello!) 
endif 

은 첫 번째 전달의 앞부분에 표시된 메시지 만 표시합니다.