summaryrefslogtreecommitdiffstats
path: root/arch/arc
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-04-16 08:43:58 +0530
committerVineet Gupta <vgupta@synopsys.com>2013-04-17 18:19:14 +0530
commita89516b31c8c0a41b4955fbcee764901232d71b1 (patch)
tree13bdad5cbd13a59679e39347b1ac695a85f4e66f /arch/arc
parent5628832f4c2c2604d5c99f3c2ff8aa73b0b121b8 (diff)
downloadlinux-a89516b31c8c0a41b4955fbcee764901232d71b1.tar.gz
linux-a89516b31c8c0a41b4955fbcee764901232d71b1.tar.bz2
linux-a89516b31c8c0a41b4955fbcee764901232d71b1.zip
ARC: [kbuild] Avoid DTB rebuilds if DTS are untouched
Currently, for every ARC kernel build I see the following: --------------->8----------------- DTB arch/arc/boot/dts/angel4.dtb.S AS arch/arc/boot/dts/angel4.dtb.o LD arch/arc/boot/dts/built-in.o rm arch/arc/boot/dts/angel4.dtb.S <-- forces rebuild next iter CHK kernel/config_data.h --------------->8----------------- This is because *.dts.S is intermediate file in dtb generation and is by default deleted by make which needs a ".SECONDARY" hint to NOT do so. This could have ideally been done in scripts/Makefile.lib - for benefit of all, however .SECONDARY doesn't seem to work with wildcards. Thanks to Stephen for suggesting .SECONDARY (vs .PRECIOUS) and making that work using a non wildcard version in arch makefile. Thanks to James Hogan for pointing out that *.dtb.S now needs to be added to clean-files Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/boot/dts/Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arc/boot/dts/Makefile b/arch/arc/boot/dts/Makefile
index 5776835d583f..faf240e29ec2 100644
--- a/arch/arc/boot/dts/Makefile
+++ b/arch/arc/boot/dts/Makefile
@@ -8,6 +8,8 @@ endif
obj-y += $(builtindtb-y).dtb.o
targets += $(builtindtb-y).dtb
+.SECONDARY: $(obj)/$(builtindtb-y).dtb.S
+
dtbs: $(addprefix $(obj)/, $(builtindtb-y).dtb)
-clean-files := *.dtb
+clean-files := *.dtb *.dtb.S