summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-13 02:17:29 -0400
committerPaul Smith <psmith@gnu.org>2013-05-13 02:30:14 -0400
commit2627d8322136eac2b499dd12e2769eb01d7c74bc (patch)
tree365fc770ea9b4213519dcc98984d8539a2145fa2 /main.c
parent381baeef7aa4f2c8758a9910ebb97af46c0dd7eb (diff)
downloadgunmake-2627d8322136eac2b499dd12e2769eb01d7c74bc.tar.gz
Use level o_env_override for MAKEFLAGS so it's reset even with -e.
Fixes Savannah bug #2216.
Diffstat (limited to 'main.c')
-rw-r--r--main.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/main.c b/main.c
index fe0f54e..f3c4a3d 100644
--- a/main.c
+++ b/main.c
@@ -3150,14 +3150,14 @@ define_makeflags (int all, int makefile)
if (flagstring[0] == '-' && flagstring[1] != '-')
++flagstring;
+ /* This used to use o_env, but that lost when a makefile defined MAKEFLAGS.
+ Makefiles set MAKEFLAGS to add switches, but we still want to redefine
+ its value with the full set of switches. Then we used o_file, but that
+ lost when users added -e, causing a previous MAKEFLAGS env. var. to take
+ precedence over the new one. Of course, an override or command
+ definition will still take precedence. */
v = define_variable_cname ("MAKEFLAGS", flagstring,
- /* This used to use o_env, but that lost when a
- makefile defined MAKEFLAGS. Makefiles set
- MAKEFLAGS to add switches, but we still want
- to redefine its value with the full set of
- switches. Of course, an override or command
- definition will still take precedence. */
- o_file, 1);
+ env_overrides ? o_env_override : o_file, 1);
if (! all)
/* The first time we are called, set MAKEFLAGS to always be exported.