いくつかのyoctレシピで次のインストールコマンドを見ました。
install -d ${D}${libdir}
installコマンドとその目的を知っていますが、$ {D}変数は通常レシピで定義されていないため、その目的を理解できません。誰かがこのシェル変数の目的を説明できますか?
ベストアンサー1
この${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
同じ理由でこの変数が使用されます。