gnu make: ":=$(표현식)" 대 ":=@(표현식)"

gnu make: ":=$(표현식)" 대 ":=@(표현식)"

표현식 평가 중에 "$"와 "@" 사용의 차이점을 확인하려고 합니다(올바른 용어인 경우). 예를 들어 Makefile에서 다음 표현식을 이해하려고 합니다.

NO-DEBUG   := @(if $(DEBUG),,1)

나중에 다음과 같은 표현이 나왔습니다.

NO-CHECKED  := $(if $(CHECKED),,1)

이것들은 같은 일을 하는 것 같지만 "$"와 "@"가 평가에 어떤 영향을 미칠지는 잘 모르겠습니다. ":=@" 또는 "=@"에 대한 대략적인 Google 검색에서는 아무것도 찾을 수 없습니다. 어떤 통찰력이 있습니까? 왜 다른 것을 사용합니까?

감사합니다, 마크

답변1

@(expression)나는 GNU make에서 그것을 본 적이 없고 그것에 대해서도 모릅니다. 만약 사용된다면, 단순히 해석되지 않은 채로 남게 될 것입니다. GNU make 4.0을 이용한 테스트를 통해 이를 확인했습니다. 거기에는 언급이 없는 것 같은데수동.

=및 에 관해서 :=는 읽어야 합니다.변수의 두 가지 스타일참조 매뉴얼에 있습니다. 자세한 설명과 예시가 있습니다.

관련 정보