make -f ./scripts/Makefile.build obj=dir 分析2

36. make -f ./scripts/Makefile.build obj=dts

471	make -f ./scripts/Makefile.build obj=dts
472	make -f ./scripts/Makefile.build obj=arch/arm/dts dtbs
473	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-a.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-a.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-a.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-a.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-a.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-a.dts:" arch/arm/dts/.bcm2835-rpi-a.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-a.dtb.d
474	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-a-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-a-plus.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-a-plus.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-a-plus.dts:" arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d
475	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b.dts:" arch/arm/dts/.bcm2835-rpi-b.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b.dtb.d
476	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b-plus.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b-plus.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b-plus.dts:" arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d
477	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b-rev2.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b-rev2.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b-rev2.dts:" arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d
478	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-cm1-io1.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-cm1-io1.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-cm1-io1.dts:" arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d
479	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-zero.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-zero.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-zero.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-zero.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-zero.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-zero.dts:" arch/arm/dts/.bcm2835-rpi-zero.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-zero.dtb.d
480	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-zero-w.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-zero-w.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-zero-w.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-zero-w.dts:" arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d
481	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2836-rpi-2-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2836-rpi-2-b.dtb.dts.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2836-rpi-2-b.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp:arch/arm/dts/bcm2836-rpi-2-b.dts:" arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.pre.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2836-rpi-2-b.dtb.d
482	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-a-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-a-plus.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-a-plus.dts:" arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d
483	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-b.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-b.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-b.dts:" arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-b.dtb.d
484	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-b-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-b-plus.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-b-plus.dts:" arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d
485	  mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-cm3-io3.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-cm3-io3.dtb -b 0 -i arch/arm/dts/  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@  -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num  -@ -d arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-cm3-io3.dts:" arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d
486	test -e arch/arm/dts/bcm2837-rpi-3-b.dtb || (						\
487	echo >&2;							\
488	echo >&2 "Device Tree Source (arch/arm/dts/bcm2837-rpi-3-b.dtb) is not correctly specified.";	\
489	echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
490	echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
491	echo >&2;							\
492	/bin/false)
493	  cat arch/arm/dts/bcm2837-rpi-3-b.dtb > dts/dt.dtb
494	  ( echo '.section .dtb.init.rodata,"a"'; echo '.balign 16'; echo '.global __dtb_dt_begin'; echo '__dtb_dt_begin:'; echo '.incbin "dts/dt.dtb" '; echo '__dtb_dt_end:'; echo '.global __dtb_dt_end'; echo '.balign 16'; ) > dts/dt.dtb.S
495	  /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -Wp,-MD,dts/.dt.dtb.o.d  -nostdinc -isystem /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/../lib/gcc/arm-linux-gnueabihf/7.5.0/include -Iinclude   -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -D__ASSEMBLY__ -fno-PIE -g -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -mtune=generic-armv7-a -I./arch/arm/mach-bcm283x/include   -c -o dts/dt.dtb.o dts/dt.dtb.S
496	   rm -f dts/built-in.o; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-ar cDPrsT dts/built-in.o dts/dt.dtb.o
  1. 《1. make -f ./scripts/Makefile.build obj=XXX》 分析可知:
    在这里插入图片描述

  2. 编译过程
    在这里插入图片描述

  3. 创建文件
    在这里插入图片描述

命令:make -f ./scripts/Makefile.build obj=dts

  1. 经过《36.1 dts/Makefile 文件分析》分析可知:
#  dts/Makefile 
targets += dt.dtb
DEVICE_TREE = bcm2837-rpi-3-b
DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb

27 $(obj)/dt.dtb: $(DTB) FORCE
28    $(call if_changed,shipped)
30
33 $(DTB): arch-dtbs
34		$(Q)test -e $@ || (						\
35		echo >&2;							\
36		echo >&2 "Device Tree Source ($@) is not correctly specified.";	\
37		echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
38		echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
39		echo >&2;							\
40		/bin/false)
41
43 arch-dtbs:
44		$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
45
52 obj-y := dt.dtb.o
54
56 dtbs: $(obj)/dt.dtb
57		@:
  1. 经过《36.2 创建 $(builtin-target)》 和步骤1的分析可知,依赖$(builtin-target)最终创建规则如下:
# scripts/Makefile.build 
# 输入命令:make -f ./scripts/Makefile.build obj=dts
builtin-target := $(obj)/built-in.o

300 $(obj)/%.o: $(src)/%.S FORCE
301 	$(call if_changed_dep,as_o_S)
......
336 cmd_link_o_target = $(if $(strip $(obj-y)),\
337 		               rm -f $@; $(AR) cDPrsT $@ $(filter $(obj-y), $^), \
338 		               rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@)
339 
340 $(builtin-target) : $(obj)/dt.dtb.o FORCE
341 	   $(call if_changed,link_o_target)
  1. 《1.1 引用文件》引用的scripts/Makefile.lib中有如下创建规则:
# scripts/Makefile.lib
# make -f ./scripts/Makefile.build obj=dts
311 $(obj)/%.dtb.S: $(obj)/%.dtb
312 	$(call cmd,dt_S_dtb)
331 $(obj)/%.dtb: $(src)/%.dts FORCE
332    $(call if_changed_dep,dtc)

由上可知,并且在scripts/Makefile.build中,300行的 $(src)=$(obj) ,最终创建规则如下所示:

# 输入命令:make -f ./scripts/Makefile.build obj=dts
# scripts/Makefile.build 
builtin-target := $(obj)/built-in.o

300 $(obj)/%.o: $(src)/%.S FORCE
301 	$(call if_changed_dep,as_o_S)
......
336 cmd_link_o_target = $(if $(strip $(obj-y)),\
337 		               rm -f $@; $(AR) cDPrsT $@ $(filter $(obj-y), $^), \
338 		               rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@)
339 
340 $(builtin-target) : $(obj)/dt.dtb.o FORCE
341 	   $(call if_changed,link_o_target)

# scripts/Makefile.lib
311 $(obj)/%.dtb.S: $(obj)/%.dtb
312 	$(call cmd,dt_S_dtb)
331 $(obj)/%.dtb: $(obj)/%.dts FORCE
332    $(call if_changed_dep,dtc)

#  dts/Makefile 
targets += dt.dtb
DEVICE_TREE = bcm2837-rpi-3-b
DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb

27 $(obj)/dt.dtb: $(DTB) FORCE
28    $(call if_changed,shipped)
30
33 $(DTB): arch-dtbs
34		$(Q)test -e $@ || (						\
35		echo >&2;							\
36		echo >&2 "Device Tree Source ($@) is not correctly specified.";	\
37		echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
38		echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
39		echo >&2;							\
40		/bin/false)
41
43 arch-dtbs:
44		$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
45
52 obj-y := dt.dtb.o
54
56 dtbs: $(obj)/dt.dtb
57		@:

由上可知,目标的依赖关系如下图所示:
在这里插入图片描述

执行目标$(builtin-target),见下面《36.7 执行目标 $(builtin-target)》

  1. 创建$(obj)/dt.dtb.o, 见下面《36.6 创建 $(obj)/dt.dtb.o》
     1.1 创建$(obj)/dt.dtb.S,  见下面《36.5 创建 $(obj)/dt.dtb.S》
       1.1.1 创建$(obj)/dt.dtb, 见下面《36.4 创建 $(obj)/dt.dtb》
         1.1.1.1 创建$(DTB),  见下面《36.3 创建 $(DTB)》
             创建arch-dtbs, 见下面《36.2 创建 arch-dtbs》
         1.1.1.2 创建 FORCE,什么都不做
       1.1.2 创建 FORCE,什么都不做
     1.2 创建 FORCE,什么都不做
  2. 创建 FORCE,什么都不做

36.1 dts/Makefile 文件分析

dts/Makefile文件内容如下:

# dts/Makefile
1 	# SPDX-License-Identifier: GPL-2.0+
2 	#
3 	# Copyright (c) 2011 The Chromium OS Authors.
4 
5 	# This Makefile builds the internal U-Boot fdt if CONFIG_OF_CONTROL is
6 	# enabled. See doc/README.fdt-control for more details.
7 
8 	DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%)
9 	ifeq ($(DEVICE_TREE),)
10	DEVICE_TREE := unset
11	endif
12
13	ifneq ($(EXT_DTB),)
14	DTB := $(EXT_DTB)
15	else
16	DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb
17	endif
18
19	$(obj)/dt-$(SPL_NAME).dtb: dts/dt.dtb $(objtree)/tools/fdtgrep FORCE
20		mkdir -p $(dir $@)
21		$(call if_changed,fdtgrep)
22
23	ifeq ($(CONFIG_OF_DTB_PROPS_REMOVE),y)
24	$(obj)/dt.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
25		$(call if_changed,fdt_rm_props)
26	else
27	$(obj)/dt.dtb: $(DTB) FORCE
28		$(call if_changed,shipped)
29	endif
30
31	targets += dt.dtb
32
33	$(DTB): arch-dtbs
34		$(Q)test -e $@ || (						\
35		echo >&2;							\
36		echo >&2 "Device Tree Source ($@) is not correctly specified.";	\
37		echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
38		echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
39		echo >&2;							\
40		/bin/false)
41
42	PHONY += arch-dtbs
43	arch-dtbs:
44		$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
45
46	ifeq ($(CONFIG_SPL_BUILD),y)
47	obj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o
48	# support "out-of-tree" build for dtb-spl
49	$(obj)/dt-spl.dtb.o: $(obj)/dt-spl.dtb.S FORCE
50		$(call if_changed_dep,as_o_S)
51	else
52	obj-$(CONFIG_OF_EMBED) := dt.dtb.o
53	endif
54
55	# Target for U-Boot proper
56	dtbs: $(obj)/dt.dtb
57		@:
58
59	# Target for SPL/TPL
60	spl_dtbs: $(obj)/dt-$(SPL_NAME).dtb
61		@:
62
63	clean-files := dt.dtb.S
64
65	# Let clean descend into dts directories
66	subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts ../arch/powerpc/dts ../arch/riscv/dts
67
  1. 8-11行:在《1.2 用规则新建 -include 声明的文件》include/config/auto.confCONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b",所以: DEVICE_TREE = bcm2837-rpi-3-b
  2. 13-17行:$(EXT_DTB)未定义为空,所以: DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb
  3. 19-21行:由于SPL_NAME = spldt-$(SPL_NAME).dtb不存在,所以这里不执行
  4. 23-29行:CONFIG_TPL_BUILD未定义为空
  5. 46-53行:CONFIG_SPL_BUILD未定义为空
  6. 52行:在include/config/auto.confCONFIG_OF_EMBED=y
  7. 60-61行:这里一般都不会执行


由上可知,展开后为:

#  dts/Makefile 
targets += dt.dtb
DEVICE_TREE = bcm2837-rpi-3-b
DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb

27 $(obj)/dt.dtb: $(DTB) FORCE
28    $(call if_changed,shipped)
30
33 $(DTB): arch-dtbs
34		$(Q)test -e $@ || (						\
35		echo >&2;							\
36		echo >&2 "Device Tree Source ($@) is not correctly specified.";	\
37		echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
38		echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
39		echo >&2;							\
40		/bin/false)
41
43	arch-dtbs:
44		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值