Makefile.dtbinst 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # SPDX-License-Identifier: GPL-2.0
  2. # ==========================================================================
  3. # Installing dtb files
  4. #
  5. # Installs all dtb files listed in $(dtb-y) either in the
  6. # INSTALL_DTBS_PATH directory or the default location:
  7. #
  8. # $INSTALL_PATH/dtbs/$KERNELRELEASE
  9. # ==========================================================================
  10. PHONY := __dtbs_install
  11. __dtbs_install:
  12. include include/config/auto.conf
  13. include $(srctree)/scripts/Kbuild.include
  14. dst := $(INSTALL_DTBS_PATH)
  15. quiet_cmd_dtb_install = INSTALL $@
  16. cmd_dtb_install = install -D -m 0644 $< $@
  17. $(dst)/%: $(obj)/%
  18. $(call cmd,dtb_install)
  19. dtbs := $(patsubst $(obj)/%,%,$(call read-file, $(obj)/dtbs-list))
  20. ifdef CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
  21. define gen_install_rules
  22. $(dst)/%: $(obj)/$(1)%
  23. $$(call cmd,dtb_install)
  24. endef
  25. $(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
  26. dtbs := $(notdir $(dtbs))
  27. endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
  28. __dtbs_install: $(addprefix $(dst)/, $(dtbs))
  29. @:
  30. .PHONY: $(PHONY)