天天看點

menuconfig Kconfig .config Makefile檔案分析

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

menuconfig Kconfig .config Makefile檔案分析

menuconfig是生成.config的一個工具,menuconfig實作的代碼在源碼的scripts目錄下。

menuconfig Kconfig .config Makefile檔案分析

Makefile用來定義哪些内容作為子產品編譯,哪些進行條件編譯。子目錄Makefile被頂層Makefile包含,這樣層層調用,最終完成編譯。

menuconfig Kconfig .config Makefile檔案分析

Kconfig檔案在每一級目錄下都有,決定make menuconfig時展示的菜單項。

menuconfig Kconfig .config Makefile檔案分析

下面舉例說明它們的關系,以一個HELLO_TEST為例進行說明:

1、在源碼目錄driver/char/Kconfig下添加如下内容:

menuconfig Kconfig .config Makefile檔案分析

2、在源碼目錄下,打開menuconfig

menuconfig Kconfig .config Makefile檔案分析

可以看到新添加的選項。我選中它,看下生成的.config,此時應該被設定成有效的狀态了。

menuconfig Kconfig .config Makefile檔案分析

再次修改将其設定為不選中,對應的.config将其設定為不選中。