[완료] Makefile 에서 "?=" 의 의미가 무엇인가요?

mflute의 이미지

MAKE_SHARED_LIB = ON
USE_MULTI_DEPTH ?= OFF

Makefile 을 들여다 보는 중에 option 설정을 하는 부분에서 위와 같이 "="를 사용하는 코드와 "?="를 사용하는 코드가 섞여 있습니다.
"=" 은 물론 assign을 의마할 것 같습니다만.. "?="는 무엇을 의미하는지 잘 이해가 되지 않습니다.

동작에는 전혀 문제가 되지 않는 것을 보면 "="과 크게 다르지 않아 보입니다.
정확한 의미를 알고 계신분이 있으시면 알려주시면 감사하겠습니다.

klara의 이미지

http://www.gnu.org/software/make/manual/make.html
gnu make 매뉴얼입니다. 페이지 내에서 ?= 로 찾아보세요.

mflute의 이미지

정답은 Conditional assignment operator 였네요. 해당 Variable이 설정된 상태가 아닌 상태에서만 assign이 되도록 하는...
감사합니다.