repka-os_kernel/scripts/Makefile.dtbinst

51 lines
1.4 KiB
Text

# SPDX-License-Identifier: GPL-2.0
# ==========================================================================
# Installing dtb files
#
# Installs all dtb files listed in $(dtb-y) either in the
# INSTALL_DTBS_PATH directory or the default location:
#
# $INSTALL_PATH/dtbs/$KERNELRELEASE
# ==========================================================================
src := $(obj)
PHONY := __dtbs_install
__dtbs_install:
include include/config/auto.conf
include $(srctree)/scripts/Kbuild.include
include $(kbuild-file)
dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
script-files := $(addprefix $(dst)/, $(scr-y))
readme-files := $(addprefix $(dst)/, $(dtbotxt-y))
__dtbs_install: $(dtbs) $(script-files) $(readme-files) $(subdirs)
@:
quiet_cmd_dtb_install = INSTALL $@
cmd_dtb_install = install -D -m 0644 $< $@
$(dst)/%.dtb: $(obj)/%.dtb
$(call cmd,dtb_install)
$(dst)/%.dtbo: $(obj)/%.dtbo
$(call cmd,dtb_install)
$(dst)/%.scr: $(obj)/%.scr
$(call cmd,dtb_install)
$(dst)/README.%-overlays: $(obj)/README.%-overlays
$(call cmd,dtb_install)
PHONY += $(subdirs)
$(subdirs):
$(Q)if [ $(subst $(obj)/,,$@) = overlay ]; then \
$(MAKE) $(dtbinst)=$@ dst=$(patsubst $(obj)/%,$(dst)/%,$@); \
else \
$(MAKE) $(dtbinst)=$@ dst=$(if $(CONFIG_ARCH_WANT_FLAT_DTB_INSTALL),$(dst),$(patsubst $(obj)/%,$(dst)/%,$@)); \
fi
.PHONY: $(PHONY)