In the current code, it only removes *.o and .*.o.d file when make clean, there still exists useless .*.o.cmd file, just remove it. Without this patch: [yangtiezhu@linux spi]$ make [yangtiezhu@linux spi]$ make clean [yangtiezhu@linux spi]$ ls -1 .*.o.cmd .spidev_fdx-in.o.cmd .spidev_fdx.o.cmd .spidev_test-in.o.cmd .spidev_test.o.cmd With this patch: [yangtiezhu@linux spi]$ make [yangtiezhu@linux spi]$ make clean [yangtiezhu@linux spi]$ ls -1 .*.o.cmd ls: cannot access .*.o.cmd: No such file or directory Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> --- tools/spi/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/spi/Makefile b/tools/spi/Makefile index 2249a15..ada881a 100644 --- a/tools/spi/Makefile +++ b/tools/spi/Makefile @@ -52,7 +52,9 @@ $(OUTPUT)spidev_fdx: $(SPIDEV_FDX_IN) clean: rm -f $(ALL_PROGRAMS) rm -rf $(OUTPUT)include/ - find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete + find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete + find $(if $(OUTPUT),$(OUTPUT),.) -name '\.*.o.d' -delete + find $(if $(OUTPUT),$(OUTPUT),.) -name '\.*.o.cmd' -delete install: $(ALL_PROGRAMS) install -d -m 755 $(DESTDIR)$(bindir); \ -- 2.1.0