summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2021-04-19 17:27:54 -0400
committerPaul Smith <psmith@gnu.org>2021-05-30 15:11:30 -0400
commitf2771aa614d3a826b70973217c33f605fb4cd0c2 (patch)
tree177cff419b52bc7e396ee372bb2edb0e1333d244 /NEWS
parent5e829188d3595c8749f9e7bcbe4b515c085779a6 (diff)
downloadmake-git-f2771aa614d3a826b70973217c33f605fb4cd0c2.tar.gz
[SV 58341] Add non-trivial options to $(MAKEFLAGS)
Previously only trivial (single-letter) options were available in $(MAKEFLAGS) when it is examined from inside a makefile (the full value was set before expanding recipes). Ensure that all options (but, not command line variable overrides!) are visible in the $(MAKEFLAGS) variable. In order to do this reset the default values of options, particularly options which are lists, before re-reading MAKEFLAGS after makefiles have been read. Otherwise we'll get duplicate values for options such as -I. Unfortunately there are complications here as well: sometimes (for jobserver options in particular) we modify the values of these options while running: we must not reset these modifications. * NEWS: Announce this change * src/main.c (main): Call new reset_switches() before re-parsing MAKEFLAGS. (reset_switches): Reset the value of non-special options to their defaults. (define_makeflags): Add non-special options into MAKEFLAGS even if 'all' is not set.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS5
1 files changed, 5 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 53562605..5efa8bad 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,11 @@ https://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=109&se
rebuilt is the same order in which make processed them, and this is defined
to be true in the GNU make manual.
+* WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
* WARNING: New build requirement
GNU make utilizes facilities from GNU Gnulib: Gnulib requires certain C99
features in the C compiler and so these features are required by GNU make: