David Boyce
2018-09-27 03:32:37 UTC
URL:
<https://savannah.gnu.org/bugs/?54740>
Summary: .SILENT: propagates into recursive makes
Project: make
Submitted by: boyski
Submitted on: Thu 27 Sep 2018 03:32:36 AM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.2.1
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
This seems to be either a code or documentation bug. Consider the following
set of trivial makefiles:
% head *
==> GNUmakefile <==
.SILENT:
all:; +$(MAKE) -f sub.mk
==> sub.mk <==
all:; @:$(info In sub-make MAKEFLAGS="$(MAKEFLAGS)")
When make is run:
% make
In sub-make MAKEFLAGS="s"
We see that the .SILENT: setting in the top makefile has been propagated into
the child make by adding "s" to MAKEFLAGS, but there's nothing in the
documentation which says this will or should happen. I'd expect it to have the
scope of the current make process only.
My particular case is a makefile which does some setup and then invokes the
Linux kernel makefile suite. I wanted the setup makefile to be relatively
silent but had no intention of affecting verbosity of the kernel build
itself.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?54740>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
<https://savannah.gnu.org/bugs/?54740>
Summary: .SILENT: propagates into recursive makes
Project: make
Submitted by: boyski
Submitted on: Thu 27 Sep 2018 03:32:36 AM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.2.1
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
This seems to be either a code or documentation bug. Consider the following
set of trivial makefiles:
% head *
==> GNUmakefile <==
.SILENT:
all:; +$(MAKE) -f sub.mk
==> sub.mk <==
all:; @:$(info In sub-make MAKEFLAGS="$(MAKEFLAGS)")
When make is run:
% make
In sub-make MAKEFLAGS="s"
We see that the .SILENT: setting in the top makefile has been propagated into
the child make by adding "s" to MAKEFLAGS, but there's nothing in the
documentation which says this will or should happen. I'd expect it to have the
scope of the current make process only.
My particular case is a makefile which does some setup and then invokes the
Linux kernel makefile suite. I wanted the setup makefile to be relatively
silent but had no intention of affecting verbosity of the kernel build
itself.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?54740>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/