diff options
Diffstat (limited to 'linux/linux.mk')
| -rw-r--r-- | linux/linux.mk | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/linux/linux.mk b/linux/linux.mk index 1b7e0b755..099f8ba04 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -48,6 +48,12 @@ LINUX_MAKE_FLAGS = \  # going to be installed in the target filesystem.  LINUX_VERSION_PROBED = $(shell $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease) +ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y) +KERNEL_DTS_NAME = $(BR2_LINUX_KERNEL_INTREE_DTS_NAME) +else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y) +KERNEL_DTS_NAME = $(basename $(notdir $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))) +endif +  ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)  LINUX_IMAGE_NAME=$(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))  else @@ -155,13 +161,25 @@ define LINUX_CONFIGURE_CMDS  	yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig  endef +ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) +define LINUX_BUILD_DTB +	$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTS_NAME).dtb +endef +define LINUX_INSTALL_DTB +	cp $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb $(BINARIES_DIR)/ +endef +endif +  # Compilation. We make sure the kernel gets rebuilt when the  # configuration has changed.  define LINUX_BUILD_CMDS +	$(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS), +		cp $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH) $(KERNEL_ARCH_PATH)/boot/dts/)  	$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME)  	@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then 	\  		$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ;	\  	fi +	$(LINUX_BUILD_DTB)  endef @@ -186,6 +204,7 @@ endef  define LINUX_INSTALL_TARGET_CMDS  	$(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET) +	$(LINUX_INSTALL_DTB)  	# Install modules and remove symbolic links pointing to build  	# directories, not relevant on the target  	@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then 	\  | 
