Merge tag 'regulator-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux...
[linux.git] / scripts / Makefile.dtbinst
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
11 PHONY := __dtbs_install
12 __dtbs_install:
13
14 include include/config/auto.conf
15 include $(srctree)/scripts/Kbuild.include
16
17 dst := $(INSTALL_DTBS_PATH)
18
19 quiet_cmd_dtb_install = INSTALL $@
20       cmd_dtb_install = install -D $< $@
21
22 $(dst)/%: $(obj)/%
23         $(call cmd,dtb_install)
24
25 dtbs := $(patsubst $(obj)/%,%,$(call read-file, $(obj)/dtbs-list))
26
27 ifdef CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
28
29 define gen_install_rules
30 $(dst)/%: $(obj)/$(1)%
31         $$(call cmd,dtb_install)
32 endef
33
34 $(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
35
36 dtbs := $(notdir $(dtbs))
37
38 endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
39
40 __dtbs_install: $(addprefix $(dst)/, $(dtbs))
41         @:
42
43 .PHONY: $(PHONY)