diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-03-23 22:04:34 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-04-07 19:04:02 +0900 |
commit | a7f924190924783d3e291624c4f0c3f51481ae2c (patch) | |
tree | e696224fb9f3081f3f3b37d228817505a76dfd18 | |
parent | b23d1a241f4eb44ae55785c9b65274717c8e2c1e (diff) | |
download | lwn-a7f924190924783d3e291624c4f0c3f51481ae2c.tar.gz lwn-a7f924190924783d3e291624c4f0c3f51481ae2c.zip |
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>
-rw-r--r-- | drivers/of/unittest-data/Makefile | 2 | ||||
-rw-r--r-- | scripts/Makefile.build | 4 | ||||
-rw-r--r-- | scripts/Makefile.lib | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile index 8fd0ea4b92b0..87a65ca38583 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 36f7990c5701..15b3bbb3248b 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 b1d938fab73b..7f5bca0c3b7b 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}) ; \ |