Compiling
安裝命令中的 ${D} 變數
我已經看到在多個 yocto 食譜中使用了以下安裝命令
install -d ${D}${libdir}
我知道 install 命令及其用途,但是我無法理解 ${D} 變數的用途,因為它通常沒有在配方中定義。有人可以解釋這個 shell 變數的用途嗎?
該
${D}
變數允許正在建構的軟體安裝在其實際目標以外的目錄中。例如,您可以將軟體配置libdir
為/usr/lib
,但這是針對目標設備的;當您在建構系統上執行安裝時,您不希望新建構的文件實際安裝在 中/usr/lib
,您希望將其放置在隔離的地方,以便可以輕鬆辨識它們並將其複製到目標系統。所以你創建一個臨時目錄並安裝在那裡:mkdir /tmp/yocto-target make install D=/tmp/yocto-target
這樣文件就結束了
/tmp/yocto-target/usr/lib
,依此類推。/tmp/yocto-target
然後,您可以使用您喜歡的任何工具存檔所有內容,刪除/tmp/yocto-target
前綴,將存檔複製到目標設備並在那里安裝其內容。在其他建構系統中,
DESTDIR
出於相同的原因使用該變數。