Skip to content

Commit

Permalink
kernel-build.mk: add support for compiling only DTS
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Ansuel committed Feb 8, 2024
1 parent f89904a commit c47532b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
10 changes: 6 additions & 4 deletions include/image.mk
Original file line number Diff line number Diff line change
Expand Up @@ -582,7 +582,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
Expand All @@ -593,7 +593,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
Expand Down Expand Up @@ -841,18 +841,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)
Expand Down
4 changes: 4 additions & 0 deletions include/kernel-build.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 3 additions & 0 deletions include/subdir.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit c47532b

Please sign in to comment.