匯出核心標頭檔案供使用者空間使用¶
“make headers_install” 命令匯出核心標頭檔案,使其適合使用者空間程式使用。
Linux 核心匯出的標頭檔案描述了使用者空間程式嘗試使用核心服務的 API。這些核心標頭檔案被系統的 C 庫(例如 glibc 或 uClibc)使用,以定義可用的系統呼叫,以及與這些系統呼叫一起使用的常量和結構。 C 庫的標頭檔案包括來自“linux”子目錄的核心標頭檔案。 系統的 libc 標頭檔案通常安裝在預設位置 /usr/include,核心標頭檔案安裝在其下的子目錄中(最顯著的是 /usr/include/linux 和 /usr/include/asm)。
核心標頭檔案向後相容,但不能向前相容。 這意味著針對使用舊核心標頭檔案的 C 庫構建的程式應該可以在較新的核心上執行(儘管它可能無法訪問新功能),但是針對較新的核心標頭檔案構建的程式可能無法在舊核心上執行。
“make headers_install” 命令可以在核心原始碼的頂層目錄中執行(或使用標準的外部構建)。 它接受兩個可選引數
make headers_install ARCH=i386 INSTALL_HDR_PATH=/usr
ARCH 指示要生成哪個體系結構的標頭檔案,預設為當前體系結構。 匯出的核心標頭檔案的 linux/asm 目錄是平臺特定的,要檢視支援的體系結構的完整列表,請使用以下命令
ls -d include/asm-* | sed 's/.*-//'
INSTALL_HDR_PATH 指示將標頭檔案安裝到哪裡。 它預設為“./usr”。
一個“include”目錄會自動在 INSTALL_HDR_PATH 內部建立,並且標頭檔案安裝在“INSTALL_HDR_PATH/include”中。
核心標頭檔案匯出基礎設施由 David Woodhouse <dwmw2@infradead.org> 維護。