On 2022-11-06 02:28, Masahiro Yamada wrote: > Is there a solution to suppress this 'up to date' log?
Hi, Masahiro, Use make -s. That option also suppresses the printing of the recipe commands that are being executed. However, that is not a problem for a makefile which already hides them with the @ character, and performs its own customized printing. 0:[1106:073304]:sun-go:~/txr$ make all make: Nothing to be done for 'all'. 0:[1106:073306]:sun-go:~/txr$ make -s 0:[1106:073307]:sun-go:~/txr$ touch eval.c stdlib/optimize.tl 0:[1106:073318]:sun-go:~/txr$ make -s CC eval.c -> opt/eval.o LINK opt/txr.o [.. SNIP ...] opt/gzio.o -> txr TXR stdlib/optimize.tl -> stdlib/optimize.tlo 0:[1106:073325]:sun-go:~/txr$ make -s 0:[1106:073327]:sun-go:~/txr$ Unfortunately, I see that the kernel Makefile is too clever; when you run make -s, it obeys that and suppresses its custom output like: CC init/version.o LD init/built-in.o LD vmlinux.o Maybe there is a way to opt-in to that output in spite of make -s? (I work in embedded, so I'm not on the latest kernel; I'm doing everything here with 4.9.) I see that in tools/build/Makefile.build, it is checking for -s being in MAKEFLAGS and manipulating the quiet variable. This works for me: make -s quiet=quiet_ The check for -s in MAKEFLAGS is done in a way that the user's V variable is ignored. At a glance, I don't see any deliberate interface for overriding that; so I resorted to overriding the quiet variable with the correct internal value to get the default abbreviated comand printing mode. Cheers ...