mirror of https://gitee.com/openkylin/linux.git
kbuild: add %.dtb.S and %.dtb to 'targets' automatically
Another common pattern that consists of chained commands is to compile a DTB as binary data into the kernel image or a module. It is used in several places in the source tree. Support it in the core Makefile. $(call if_changed,dt_S_dtb) is more suitable than $(call cmd,dt_S_dtb) in case cmd_dt_S_dtb is changed in the future. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Frank Rowand <frowand.list@gmail.com>
This commit is contained in:
parent
b23d1a241f
commit
a7f9241909
|
@ -21,8 +21,6 @@ obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \
|
|||
overlay_bad_symbol.dtb.o \
|
||||
overlay_base.dtb.o
|
||||
|
||||
targets += $(foreach suffix, dtb dtb.S, $(patsubst %.dtb.o,%.$(suffix),$(obj-y)))
|
||||
|
||||
# enable creation of __symbols__ node
|
||||
DTC_FLAGS_overlay += -@
|
||||
DTC_FLAGS_overlay_bad_phandle += -@
|
||||
|
|
|
@ -544,9 +544,11 @@ targets := $(filter-out $(PHONY), $(targets))
|
|||
intermediate_targets = $(foreach sfx, $(2), \
|
||||
$(patsubst %$(strip $(1)),%$(sfx), \
|
||||
$(filter %$(strip $(1)), $(targets))))
|
||||
# %.dtb.o <- %.dtb.S <- %.dtb <- %.dts
|
||||
# %.lex.o <- %.lex.c <- %.l
|
||||
# %.tab.o <- %.tab.[ch] <- %.y
|
||||
targets += $(call intermediate_targets, .lex.o, .lex.c) \
|
||||
targets += $(call intermediate_targets, .dtb.o, .dtb.S .dtb) \
|
||||
$(call intermediate_targets, .lex.o, .lex.c) \
|
||||
$(call intermediate_targets, .tab.o, .tab.c .tab.h)
|
||||
|
||||
# Descending
|
||||
|
|
|
@ -279,8 +279,8 @@ cmd_dt_S_dtb= \
|
|||
echo '.balign STRUCT_ALIGNMENT'; \
|
||||
) > $@
|
||||
|
||||
$(obj)/%.dtb.S: $(obj)/%.dtb
|
||||
$(call cmd,dt_S_dtb)
|
||||
$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
|
||||
$(call if_changed,dt_S_dtb)
|
||||
|
||||
quiet_cmd_dtc = DTC $@
|
||||
cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
||||
|
|
Loading…
Reference in New Issue