Message ID | 20250114-perf_make_test-v1-1-decc1c517b11@rivosinc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [FOR-NEXT] perf tools: Expose quiet/verbose variables in Makefile.perf | expand |
On Tue, Jan 14, 2025 at 11:35:44AM -0800, Charlie Jenkins wrote: > The variables to make builds silent/verbose live inside > tools/build/Makefile.build. Move those variables to the top-level > Makefile.perf to be generally available. > > Committer testing: Re-tested, now the lines below continue to appear, and also the 'make -C tools/perf build-test' that was failiong on the first patch submission is now ok as well, so I re issue my: Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> At this point this will go thru Namhyung, that will process patches while I'm in vacation for perf-tools-next as well, thanks! - Arnaldo > See the SYSCALL lines, now they are consistent with the other > operations in other lines: > SYSTBL /tmp/build/perf-tools-next/arch/x86/include/generated/asm/syscalls_32.h > SYSTBL /tmp/build/perf-tools-next/arch/x86/include/generated/asm/syscalls_64.h > GEN /tmp/build/perf-tools-next/common-cmds.h > GEN /tmp/build/perf-tools-next/arch/arm64/include/generated/asm/sysreg-defs.h > PERF_VERSION = 6.13.rc2.g3d94bb6ed1d0 > GEN perf-archive > MKDIR /tmp/build/perf-tools-next/jvmti/ > MKDIR /tmp/build/perf-tools-next/jvmti/ > MKDIR /tmp/build/perf-tools-next/jvmti/ > MKDIR /tmp/build/perf-tools-next/jvmti/ > GEN perf-iostat > CC /tmp/build/perf-tools-next/jvmti/libjvmti.o > > Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com> > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> > Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> > --- > tools/build/Makefile.build | 20 ----------------- > tools/perf/Makefile.perf | 37 ++++++++++++++++++++++++++++++- > tools/perf/tests/shell/coresight/Makefile | 2 +- > 3 files changed, 37 insertions(+), 22 deletions(-) > > diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build > index 5fb3fb3d97e0fd114e245805809e4fc926b4343e..e710ed67a1b49d9fda11db02821bbd8d36066b44 100644 > --- a/tools/build/Makefile.build > +++ b/tools/build/Makefile.build > @@ -12,26 +12,6 @@ > PHONY := __build > __build: > > -ifeq ($(V),1) > - quiet = > - Q = > -else > - quiet=quiet_ > - Q=@ > -endif > - > -# If the user is running make -s (silent mode), suppress echoing of commands > -# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. > -ifeq ($(filter 3.%,$(MAKE_VERSION)),) > -short-opts := $(firstword -$(MAKEFLAGS)) > -else > -short-opts := $(filter-out --%,$(MAKEFLAGS)) > -endif > - > -ifneq ($(findstring s,$(short-opts)),) > - quiet=silent_ > -endif > - > build-dir := $(srctree)/tools/build > > # Define $(fixdep) for dep-cmd function > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > index a449d0015536442273a9268b37be34e4757f577a..55d6ce9ea52fb2a57b8632cc6d0ddc501e29cbfc 100644 > --- a/tools/perf/Makefile.perf > +++ b/tools/perf/Makefile.perf > @@ -161,12 +161,47 @@ export VPATH > SOURCE := $(shell ln -sf $(srctree)/tools/perf $(OUTPUT)/source) > endif > > +# Beautify output > +# --------------------------------------------------------------------------- > +# > +# Most of build commands in Kbuild start with "cmd_". You can optionally define > +# "quiet_cmd_*". If defined, the short log is printed. Otherwise, no log from > +# that command is printed by default. > +# > +# e.g.) > +# quiet_cmd_depmod = DEPMOD $(MODLIB) > +# cmd_depmod = $(srctree)/scripts/depmod.sh $(DEPMOD) $(KERNELRELEASE) > +# > +# A simple variant is to prefix commands with $(Q) - that's useful > +# for commands that shall be hidden in non-verbose mode. > +# > +# $(Q)$(MAKE) $(build)=scripts/basic > +# > +# To put more focus on warnings, be less verbose as default > +# Use 'make V=1' to see the full commands > + > ifeq ($(V),1) > + quiet = > Q = > else > - Q = @ > + quiet=quiet_ > + Q=@ > endif > > +# If the user is running make -s (silent mode), suppress echoing of commands > +# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. > +ifeq ($(filter 3.%,$(MAKE_VERSION)),) > +short-opts := $(firstword -$(MAKEFLAGS)) > +else > +short-opts := $(filter-out --%,$(MAKEFLAGS)) > +endif > + > +ifneq ($(findstring s,$(short-opts)),) > + quiet=silent_ > +endif > + > +export quiet Q > + > # Do not use make's built-in rules > # (this improves performance and avoids hard-to-debug behaviour); > MAKEFLAGS += -r > diff --git a/tools/perf/tests/shell/coresight/Makefile b/tools/perf/tests/shell/coresight/Makefile > index b070e779703e9fbd70f88c826172b2150ee3d302..fa08fd9a5991dd889583edc1afe8304e72278f64 100644 > --- a/tools/perf/tests/shell/coresight/Makefile > +++ b/tools/perf/tests/shell/coresight/Makefile > @@ -24,6 +24,6 @@ CLEANDIRS = $(SUBDIRS:%=clean-%) > > clean: $(CLEANDIRS) > $(CLEANDIRS): > - $(call QUIET_CLEAN, test-$(@:clean-%=%)) $(Q)$(MAKE) -C $(@:clean-%=%) clean >/dev/null > + $(call QUIET_CLEAN, test-$(@:clean-%=%)) $(MAKE) -C $(@:clean-%=%) clean >/dev/null > > .PHONY: all clean $(SUBDIRS) $(CLEANDIRS) $(INSTALLDIRS) > > --- > base-commit: e9cbc854d8b148e3491291fb615e94261970fb54 > change-id: 20250114-perf_make_test-1141d4ad8877 > -- > - Charlie
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build index 5fb3fb3d97e0fd114e245805809e4fc926b4343e..e710ed67a1b49d9fda11db02821bbd8d36066b44 100644 --- a/tools/build/Makefile.build +++ b/tools/build/Makefile.build @@ -12,26 +12,6 @@ PHONY := __build __build: -ifeq ($(V),1) - quiet = - Q = -else - quiet=quiet_ - Q=@ -endif - -# If the user is running make -s (silent mode), suppress echoing of commands -# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. -ifeq ($(filter 3.%,$(MAKE_VERSION)),) -short-opts := $(firstword -$(MAKEFLAGS)) -else -short-opts := $(filter-out --%,$(MAKEFLAGS)) -endif - -ifneq ($(findstring s,$(short-opts)),) - quiet=silent_ -endif - build-dir := $(srctree)/tools/build # Define $(fixdep) for dep-cmd function diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index a449d0015536442273a9268b37be34e4757f577a..55d6ce9ea52fb2a57b8632cc6d0ddc501e29cbfc 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -161,12 +161,47 @@ export VPATH SOURCE := $(shell ln -sf $(srctree)/tools/perf $(OUTPUT)/source) endif +# Beautify output +# --------------------------------------------------------------------------- +# +# Most of build commands in Kbuild start with "cmd_". You can optionally define +# "quiet_cmd_*". If defined, the short log is printed. Otherwise, no log from +# that command is printed by default. +# +# e.g.) +# quiet_cmd_depmod = DEPMOD $(MODLIB) +# cmd_depmod = $(srctree)/scripts/depmod.sh $(DEPMOD) $(KERNELRELEASE) +# +# A simple variant is to prefix commands with $(Q) - that's useful +# for commands that shall be hidden in non-verbose mode. +# +# $(Q)$(MAKE) $(build)=scripts/basic +# +# To put more focus on warnings, be less verbose as default +# Use 'make V=1' to see the full commands + ifeq ($(V),1) + quiet = Q = else - Q = @ + quiet=quiet_ + Q=@ endif +# If the user is running make -s (silent mode), suppress echoing of commands +# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. +ifeq ($(filter 3.%,$(MAKE_VERSION)),) +short-opts := $(firstword -$(MAKEFLAGS)) +else +short-opts := $(filter-out --%,$(MAKEFLAGS)) +endif + +ifneq ($(findstring s,$(short-opts)),) + quiet=silent_ +endif + +export quiet Q + # Do not use make's built-in rules # (this improves performance and avoids hard-to-debug behaviour); MAKEFLAGS += -r diff --git a/tools/perf/tests/shell/coresight/Makefile b/tools/perf/tests/shell/coresight/Makefile index b070e779703e9fbd70f88c826172b2150ee3d302..fa08fd9a5991dd889583edc1afe8304e72278f64 100644 --- a/tools/perf/tests/shell/coresight/Makefile +++ b/tools/perf/tests/shell/coresight/Makefile @@ -24,6 +24,6 @@ CLEANDIRS = $(SUBDIRS:%=clean-%) clean: $(CLEANDIRS) $(CLEANDIRS): - $(call QUIET_CLEAN, test-$(@:clean-%=%)) $(Q)$(MAKE) -C $(@:clean-%=%) clean >/dev/null + $(call QUIET_CLEAN, test-$(@:clean-%=%)) $(MAKE) -C $(@:clean-%=%) clean >/dev/null .PHONY: all clean $(SUBDIRS) $(CLEANDIRS) $(INSTALLDIRS)