Linux編譯器通過.config檔案确認哪些代碼編譯進核心,哪些被裁減掉。

menuconfig是生成.config的一個工具,menuconfig實作的代碼在源碼的scripts目錄下。
Makefile用來定義哪些内容作為子產品編譯,哪些進行條件編譯。子目錄Makefile被頂層Makefile包含,這樣層層調用,最終完成編譯。
Kconfig檔案在每一級目錄下都有,決定make menuconfig時展示的菜單項。
下面舉例說明它們的關系,以一個HELLO_TEST為例進行說明:
1、在源碼目錄driver/char/Kconfig下添加如下内容:
2、在源碼目錄下,打開menuconfig
可以看到新添加的選項。我選中它,看下生成的.config,此時應該被設定成有效的狀态了。
再次修改将其設定為不選中,對應的.config将其設定為不選中。