With O= set, "all" depends on $(OUTPUT)dma_map_benchmark, but the only rule builds dma_map_benchmark in the source directory, and built-in rules are disabled: make: *** No rule to make target '/dma_map_benchmark', needed by 'all'. Stop. Build $(OUTPUT)dma_map_benchmark. Fixes: f74ee32963f1b ("tools/dma: move dma_map_benchmark from selftests to tools/dma") Cc: stable@vger.kernel.org Assisted-by: LLM Signed-off-by: Sasha Levin --- tools/dma/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/dma/Makefile b/tools/dma/Makefile index e4abf37bf020c..0c239a6b9eae5 100644 --- a/tools/dma/Makefile +++ b/tools/dma/Makefile @@ -38,8 +38,8 @@ prepare: $(OUTPUT)include/linux/map_benchmark.h FORCE: DMA_MAP_BENCHMARK = dma_map_benchmark -$(DMA_MAP_BENCHMARK): prepare FORCE - $(CC) $(CFLAGS) $(DMA_MAP_BENCHMARK).c -o $(DMA_MAP_BENCHMARK) +$(OUTPUT)$(DMA_MAP_BENCHMARK): prepare FORCE + $(CC) $(CFLAGS) $(DMA_MAP_BENCHMARK).c -o $@ clean: rm -f $(ALL_PROGRAMS) -- 2.53.0