diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-04-16 08:43:58 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-04-17 18:19:14 +0530 |
commit | a89516b31c8c0a41b4955fbcee764901232d71b1 (patch) | |
tree | 13bdad5cbd13a59679e39347b1ac695a85f4e66f /arch/arc/boot/dts | |
parent | 5628832f4c2c2604d5c99f3c2ff8aa73b0b121b8 (diff) |
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/boot/dts')
-rw-r--r-- | arch/arc/boot/dts/Makefile | 4 |
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 |