diff options
author | Paul Smith <psmith@gnu.org> | 2021-04-19 17:27:54 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2021-05-30 15:11:30 -0400 |
commit | f2771aa614d3a826b70973217c33f605fb4cd0c2 (patch) | |
tree | 177cff419b52bc7e396ee372bb2edb0e1333d244 /NEWS | |
parent | 5e829188d3595c8749f9e7bcbe4b515c085779a6 (diff) | |
download | make-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-- | NEWS | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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: |