I guess || (rm -f $@ && echo false) ... should be || (rm -f $@ && false) since printing the string "false" on the console has no point. Moreover, no Makefile needs to delete a target on error explicitly since commit 9c2af1c7377a ("kbuild: add .DELETE_ON_ERROR special target"). Reuse equivalent cmd_shipped from scripts/Makefile.lib. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> --- arch/microblaze/boot/dts/Makefile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/microblaze/boot/dts/Makefile b/arch/microblaze/boot/dts/Makefile index c7324e7..ef00dd3 100644 --- a/arch/microblaze/boot/dts/Makefile +++ b/arch/microblaze/boot/dts/Makefile @@ -12,12 +12,9 @@ $(obj)/linked_dtb.o: $(obj)/system.dtb # Generate system.dtb from $(DTB).dtb ifneq ($(DTB),system) $(obj)/system.dtb: $(obj)/$(DTB).dtb - $(call if_changed,cp) + $(call if_changed,shipped) endif endif -quiet_cmd_cp = CP $< $@$2 - cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) - # Rule to build device tree blobs DTC_FLAGS := -p 1024 -- 2.7.4