When doing an in source build, $(OUTPUT) is empty so the rule has the
same input and output file. Suppress the warning by only adding the rule
when doing an out of source build. The same condition already exists for
the clean rule for json files.
This fixes the following warnings:
make[3]: Circular pmu-events/arch/nds32/mapfile.csv <- pmu-events/arch/nds32/mapfile.csv dependency dropped.
make[3]: Circular pmu-events/arch/powerpc/mapfile.csv <- pmu-events/arch/powerpc/mapfile.csv dependency dropped.
...
Signed-off-by: James Clark <james.clark@linaro.org>
---
tools/perf/pmu-events/Build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
index c5e2d5f13766..a46ab7b612df 100644
--- a/tools/perf/pmu-events/Build
+++ b/tools/perf/pmu-events/Build
@@ -29,10 +29,12 @@ $(PMU_EVENTS_C): $(EMPTY_PMU_EVENTS_C)
$(call rule_mkdir)
$(Q)$(call echo-cmd,gen)cp $< $@
else
-# Copy checked-in json for generation.
+# Copy checked-in json to OUTPUT for generation if it's an out of source build
+ifneq ($(OUTPUT),)
$(OUTPUT)pmu-events/arch/%: pmu-events/arch/%
$(call rule_mkdir)
$(Q)$(call echo-cmd,gen)cp $< $@
+endif
$(LEGACY_CACHE_JSON): $(LEGACY_CACHE_PY)
$(call rule_mkdir)
--
2.34.1
On Mon, Oct 20, 2025 at 05:08:28PM +0100, James Clark wrote: > When doing an in source build, $(OUTPUT) is empty so the rule has the > same input and output file. Suppress the warning by only adding the rule > when doing an out of source build. The same condition already exists for > the clean rule for json files. > > This fixes the following warnings: > > make[3]: Circular pmu-events/arch/nds32/mapfile.csv <- pmu-events/arch/nds32/mapfile.csv dependency dropped. > make[3]: Circular pmu-events/arch/powerpc/mapfile.csv <- pmu-events/arch/powerpc/mapfile.csv dependency dropped. > ... I noticed this too and confirm it's fixed by this change. Tested-by: Namhyung Kim <namhyung@kernel.org> Thanks, Namhyung > > Signed-off-by: James Clark <james.clark@linaro.org> > --- > tools/perf/pmu-events/Build | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build > index c5e2d5f13766..a46ab7b612df 100644 > --- a/tools/perf/pmu-events/Build > +++ b/tools/perf/pmu-events/Build > @@ -29,10 +29,12 @@ $(PMU_EVENTS_C): $(EMPTY_PMU_EVENTS_C) > $(call rule_mkdir) > $(Q)$(call echo-cmd,gen)cp $< $@ > else > -# Copy checked-in json for generation. > +# Copy checked-in json to OUTPUT for generation if it's an out of source build > +ifneq ($(OUTPUT),) > $(OUTPUT)pmu-events/arch/%: pmu-events/arch/% > $(call rule_mkdir) > $(Q)$(call echo-cmd,gen)cp $< $@ > +endif > > $(LEGACY_CACHE_JSON): $(LEGACY_CACHE_PY) > $(call rule_mkdir) > > -- > 2.34.1 >
© 2016 - 2026 Red Hat, Inc.