From: Masahiro Yamada Date: Fri, 23 Mar 2018 13:04:34 +0000 (+0900) Subject: kbuild: add %.dtb.S and %.dtb to 'targets' automatically X-Git-Tag: v4.17-rc1~4^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a7f924190924783d3e291624c4f0c3f51481ae2c;p=thirdparty%2Flinux.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 Acked-by: Frank Rowand --- diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile index 8fd0ea4b92b08..87a65ca385835 100644 --- a/drivers/of/unittest-data/Makefile +++ b/drivers/of/unittest-data/Makefile @@ -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 += -@ diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 36f7990c57012..15b3bbb3248b1 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -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 diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index b1d938fab73bc..7f5bca0c3b7ba 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -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}) ; \