make를 수행할 때 사용하는 $와 bash shell에서 사용되는 $은 의미가 다소 다르다.


bash shell의 경우 $을 사용하는 경우는 보통 variable 값을 참조할 때, 그리고 command substitution을 할 때이다.


bash shell에서 variable 값을 참조하는 대표적인 예를 보자.


MY_TEST=123

echo $MY_TEST


를 하게되면 출력의 결과로 MY_TEST 변수의 값인 123이 출력된다.


그런데, make의 경우에는 variable 값을 참조할 때 아래와 같은 문법을 적용한다.

- 한 문자 길이의 variable을 참조할 때에는 bash에서처럼 variable 앞에 $를 붙인다

- 두 문자 이상 길이의 variable을 참조할 때에는 ${VAR} 또는 $(VAR) 처럼 변수 양 끝을 {}나 ()로 감싼다

(참조 : https://stackoverflow.com/a/3707677)



한 가지 혼동될 수 있는 부분은, bash shell에서는 $()을 command substitution으로 해석한다는 점이다.


가령..


echo $(pwd)


를 하게 되면, pwd 명령어를 수행한 결과가 echo를 통해 출력된다..




Posted by huammmm1
,