跟各位科普一下關於 Makefile 設定的東西

作者: Wardyal (Wardyal)   2025-08-28 11:05:39
:為什麼 ENABLE_XXX_TOOL ?= 1 前面要加一個問號
在 Makefile 中使用 ?= 是一種 條件賦值(conditional assignment),這是 GNU Make
的語法之一。你在這裡使用:
ENABLE_XXX_TOOL ?= 1
如果 ENABLE_XXX_TOOL 尚未被定義,就把它設為 1。
為什麼要用 ?= 而不是 =
這樣做的好處是:
允許外部覆蓋:如果使用者在命令列或環境變數中已經定義了 ENABLE_SC_UPGRADE_FLASH
,那麼這個 ?= 就不會覆蓋它。
更彈性:可以讓 Makefile 有預設值,但又不強制使用者一定要用這個值。
===
又透過 AI 上了一課

Links booklink

Contact Us: admin [ a t ] ucptt.com