Xilinx社の Zynq や Altera社の Cyclene V SoC などの ARM プロセッサをターゲットにした Linux カーネルをブートする時、Device Tree Blob(DTB)が必要になります。 通常は Linux カーネルをビルドする際に自動的に DTB も生成されるのですが、なんらかの事情で自力でコンパイルする必要が生じることもあります。 その際、たまに Device Tree Source(DTS)にCプリプロセッサのマクロ(#include や #define)を使っているものがあります。例えば、Altera社の Cyclone V SoC を使った DE0-Nano-SoC 用の Device Tree Source(socfpga_cyclone5_sockit.dts)など。 このような Device Tree Source(DTS) を Devic