Skip to contentSkip to conversation

support/scripts/mkmakefile: Silent wrapper

PATCH Superseded Serj Kalichev 4 participants 7 messages Oct 26, 2018 – Nov 14, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 support/scripts/mkmakefile: Silent wrapper

Suppose we use Makefile wrapper and build
project out of buildroot tree (with O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. Some external scripts can analyze output of make and additional output can break them. This patch make wrapper silent.

Sorry for the previous ugly-formatted patch.

---
 support/scripts/mkmakefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/scripts/mkmakefile +1 -1
index 37162a3173..3b1a9f8774 100755
@@ -33,7 +33,7 @@ MAKEFLAGS += --no-print-directory
 all	:= \$(filter-out Makefile,\$(MAKECMDGOALS))
 
 _all:
-	umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
+	@umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
 
 Makefile:;
 
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/1 support/scripts/mkmakefile: Silent wrapper

Serj, All,

On 2018-10-26 14:26 +0300, Serj Kalichev spake thusly:

Quoted 9 lines

Suppose we use Makefile wrapper and build
project out of buildroot tree (with O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. Some external scripts can analyze output of make and additional output can break them. This patch make wrapper silent.

Sorry for the previous ugly-formatted patch.

Do not put personal messages like that in the commit log. You may put them after the three-dash line...

Quoted 2 lines

---

... here.

support/scripts/mkmakefile MAKEFLAGS += --no-print-directory · line 36

Quoted 13 lines
 support/scripts/mkmakefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/scripts/mkmakefile +1 -1
index 37162a3173..3b1a9f8774 100755
@@ -33,7 +33,7 @@ MAKEFLAGS += --no-print-directory
 all	:= \$(filter-out Makefile,\$(MAKECMDGOALS))
 
 _all:
-	umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
+	@umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)

I actually prefer when I can see the path of Buildroot. Since I can use many Buildroot trees to do tests, I do want to check that I am indeed using the correct one.

However, I understand that it is weird that the in-tree and out-of-tree do not print the same stuff, and that can be confusing.

After discussing this on IRC with Thomas, we think it would be nice if we could mimick what the kernel currently does:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/mkmakefile

The default would be to be silent (what you expect), while still allowing people like me to turn on the verbose mode when needed.

Care to look into that, please?

In the mean time, I've marked your patch as "changes requested" in patchwork. Thanks!

Regards,
Yann E. MORIN.

Quoted 9 lines
support/scripts/mkmakefile +0 -0
 Makefile:;
 
Signature · 6 lines
2.17.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 support/scripts/mkmakefile: Silent wrapper

01.11.2018 23:44, Yann E. MORIN ?????:

Quoted 3 lines

The default would be to be silent (what you expect), while still allowing people like me to turn on the verbose mode when needed.

Yes, it's better solution. I have changed the patch. See patch v2

#3 lore raw

PATCH v2 1/1 support/scripts/mkmakefile: Wrapper is silent by default

In reply to Serj Kalichev

Suppose we use Makefile wrapper and build some
project out of buildroot tree (O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. This patch makes wrapper silent by default. People who prefer to see more verbose output can use V=1.

---
 support/scripts/mkmakefile | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
support/scripts/mkmakefile +8 -1
index 37162a3173..c7569f2ca5 100755
@@ -20,6 +20,13 @@ echo "  GEN     $2/Makefile"
 cat << EOF > $2/Makefile
 # Automatically generated by $0: don't edit
 
+ifeq ("\$(origin V)", "command line")
+VERBOSE := \$(V)
+endif
+ifneq (\$(VERBOSE),1)
+Q := @
+endif
+
 lastword = \$(word \$(words \$(1)),\$(1))
 makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
 
@@ -33,7 +40,7 @@ MAKEFLAGS += --no-print-directory
 all	:= \$(filter-out Makefile,\$(MAKECMDGOALS))
 
 _all:
-	umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
+	\$(Q)umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
 
 Makefile:;
 
Signature · 1 line
2.17.1
#4 lore raw

PATCH v2 1/1 support/scripts/mkmakefile: Wrapper is silent by default

Serj, All,

On 2018-11-02 14:29 +0300, Serj Kalichev spake thusly:

Quoted 9 lines

Suppose we use Makefile wrapper and build some
project out of buildroot tree (O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. This patch makes wrapper silent by default. People who prefer to see more verbose output can use V=1.

Regards,
Yann E. MORIN.

Quoted 38 lines
---
 support/scripts/mkmakefile | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
support/scripts/mkmakefile +8 -1
index 37162a3173..c7569f2ca5 100755
@@ -20,6 +20,13 @@ echo "  GEN     $2/Makefile"
 cat << EOF > $2/Makefile
 # Automatically generated by $0: don't edit
 
+ifeq ("\$(origin V)", "command line")
+VERBOSE := \$(V)
+endif
+ifneq (\$(VERBOSE),1)
+Q := @
+endif
+
 lastword = \$(word \$(words \$(1)),\$(1))
 makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
 
@@ -33,7 +40,7 @@ MAKEFLAGS += --no-print-directory
 all	:= \$(filter-out Makefile,\$(MAKECMDGOALS))
 
 _all:
-	umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
+	\$(Q)umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all)
 
 Makefile:;
 
Signature · 6 lines
2.17.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH v2 1/1 support/scripts/mkmakefile: Wrapper is silent by default

In reply to Serj Kalichev

Hello,

Quoted 8 lines · Serj Kalichev

Suppose we use Makefile wrapper and build some
project out of buildroot tree (O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. This patch makes wrapper silent by default. People who prefer to see more verbose output can use V=1.

Quoted 4 lines
---
 support/scripts/mkmakefile | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#6 lore raw

PATCH v2 1/1 support/scripts/mkmakefile: Wrapper is silent by default

In reply to Serj Kalichev
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Serj" == Serj Kalichev <[email protected]> writes:

Suppose we use Makefile wrapper and build some
project out of buildroot tree (O=...). The commands like "make busybox-all-external-deps" will output the string "uname 022 && make ..." to stdout before the usefull information. It pollutes stdout. In the same time if we use the same command in the buildroot source-tree then we don't get the additional output. This patch makes wrapper silent by default. People who prefer to see more verbose output can use V=1.

Committed to 2018.02.x and 2018.08.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard