summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Marangi2024-02-07 23:49:27 +0000
committerChristian Marangi2024-02-10 12:29:27 +0000
commit183c0d530de3480917dafcffc1e5223ecff27935 (patch)
tree873051dbb2d400bb36bbf518eb396163741c5683
parent80c8d659338526103a8f55a47ce744e0a02fcb32 (diff)
downloadopenwrt-183c0d530de3480917dafcffc1e5223ecff27935.tar.gz
kernel-build.mk: add support for compiling only DTS
Add support for compiling DTS for the selected target. This can be useful for testing if the DTS correctly compile and doesn't produce any error. This adds a new make target. To compile only DTS use: make target/linux/dtb Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit c47532b1ea7f8459f05a223a71317a1461c6e750)
-rw-r--r--include/image.mk10
-rw-r--r--include/kernel-build.mk4
-rw-r--r--include/subdir.mk3
3 files changed, 13 insertions, 4 deletions
diff --git a/include/image.mk b/include/image.mk
index dc53fe8b25..97cde011ce 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -575,7 +575,7 @@ define Device/Build/dtb
$(KDIR)/image-$(1).dtb: FORCE
$(call Image/BuildDTB,$(strip $(2))/$(strip $(3)).dts,$$@)
- image_prepare: $(KDIR)/image-$(1).dtb
+ compile-dtb: $(KDIR)/image-$(1).dtb
endif
endef
@@ -586,7 +586,7 @@ define Device/Build/dtbo
$(KDIR)/image-$(1).dtbo: FORCE
$(call Image/BuildDTBO,$(strip $(2))/$(strip $(3)).dtso,$$@)
- image_prepare: $(KDIR)/image-$(1).dtbo
+ compile-dtb: $(KDIR)/image-$(1).dtbo
endif
endef
@@ -823,18 +823,20 @@ define BuildImage
download:
prepare:
compile:
+ compile-dtb:
clean:
image_prepare:
ifeq ($(IB),)
- .PHONY: download prepare compile clean image_prepare kernel_prepare install install-images
+ .PHONY: download prepare compile compile-dtb clean image_prepare kernel_prepare install install-images
compile:
$(call Build/Compile)
clean:
$(call Build/Clean)
- image_prepare: compile
+ compile-dtb:
+ image_prepare: compile compile-dtb
mkdir -p $(BIN_DIR) $(KDIR)/tmp
rm -rf $(BUILD_DIR)/json_info_files
$(call Image/Prepare)
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 5b332258f8..435a2fecea 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -156,6 +156,10 @@ define BuildKernel
compile: $(LINUX_DIR)/.modules
$(MAKE) -C image compile TARGET_BUILD=
+ dtb: $(STAMP_CONFIGURED)
+ $(_SINGLE)$(KERNEL_MAKE) scripts_dtc
+ $(MAKE) -C image compile-dtb TARGET_BUILD=
+
oldconfig menuconfig nconfig xconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE
rm -f $(LINUX_DIR)/.config.prev
rm -f $(STAMP_CONFIGURED)
diff --git a/include/subdir.mk b/include/subdir.mk
index 95009f814e..b4edbf8b96 100644
--- a/include/subdir.mk
+++ b/include/subdir.mk
@@ -5,6 +5,9 @@
ifeq ($(MAKECMDGOALS),prereq)
SUBTARGETS:=prereq
PREREQ_ONLY:=1
+# For target/linux related target add dtb to selectively compile dtbs
+else ifneq ($(filter target/linux/%,$(MAKECMDGOALS)),)
+ SUBTARGETS:=$(DEFAULT_SUBDIR_TARGETS) dtb
else
SUBTARGETS:=$(DEFAULT_SUBDIR_TARGETS)
endif