diff options
author | Paul Smith <psmith@gnu.org> | 2013-05-13 02:17:29 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-05-13 02:30:14 -0400 |
commit | 2627d8322136eac2b499dd12e2769eb01d7c74bc (patch) | |
tree | 365fc770ea9b4213519dcc98984d8539a2145fa2 /main.c | |
parent | 381baeef7aa4f2c8758a9910ebb97af46c0dd7eb (diff) | |
download | gunmake-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.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -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. |