A variável ${D} permite que o software que está sendo construído seja instalado em um diretório diferente do seu destino real. Por exemplo, você pode configurar o software para que libdir seja /usr/lib , mas isso é para o dispositivo de destino; Quando você executa a instalação em seu sistema de compilação, não deseja que os arquivos recém-criados sejam realmente instalados em /usr/lib , você deseja que os arquivos sejam colocados em algum lugar isolados para que possam ser prontamente identificados e copiados para o sistema de destino. Então você cria um diretório temporário e instala lá:
mkdir /tmp/yocto-target
make install D=/tmp/yocto-target
Dessa forma, os arquivos acabam em /tmp/yocto-target/usr/lib e assim por diante. Você pode arquivar todos os /tmp/yocto-target usando qualquer ferramenta que preferir, descartando o prefixo /tmp/yocto-target , copiando o arquivo para o dispositivo de destino e instalando seu conteúdo lá.
Em outros sistemas de compilação, a variável DESTDIR é usada pelo mesmo motivo.