mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-26 14:00:56 +00:00
(main): Define hidden automatic variable with command vars, and
MAKEOVERRIDES to a reference to that. (define_makeflags): If posix_pedantic, write a reference to that instead.
This commit is contained in:
parent
fa999783d7
commit
1766b7fa59
1 changed files with 25 additions and 5 deletions
30
main.c
30
main.c
|
@ -602,8 +602,19 @@ main (argc, argv, envp)
|
|||
}
|
||||
p[-1] = '\0'; /* Kill the final space and terminate. */
|
||||
|
||||
/* Define the variable; this will not override any user definition. */
|
||||
(void) define_variable ("MAKEOVERRIDES", 13, value, o_env, 0);
|
||||
/* Define an unchangeable variable with a name that no POSIX.2
|
||||
makefile could validly use for its own variable. */
|
||||
(void) define_variable ("-*-command-variables-*-", 23,
|
||||
value, o_automatic, 0);
|
||||
|
||||
/* Define the variable; this will not override any user definition.
|
||||
Normally a reference to this variable is written into the value of
|
||||
MAKEFLAGS, allowing the user to override this value to affect the
|
||||
exported value of MAKEFLAGS. In POSIX-pedantic mode, we cannot
|
||||
allow the user's setting of MAKEOVERRIDES to affect MAKEFLAGS, so
|
||||
a reference to this hidden variable is written instead. */
|
||||
(void) define_variable ("MAKEOVERRIDES", 13,
|
||||
"${-*-command-variables-*-}", o_env, 1);
|
||||
}
|
||||
|
||||
/* If there were -C flags, move ourselves about. */
|
||||
|
@ -1582,6 +1593,7 @@ define_makeflags (all, makefile)
|
|||
int all, makefile;
|
||||
{
|
||||
static const char ref[] = "$(MAKEOVERRIDES)";
|
||||
static const char posixref[] = "$(-*-command-variables-*-)";
|
||||
register const struct command_switch *cs;
|
||||
char *flagstring;
|
||||
register char *p;
|
||||
|
@ -1695,7 +1707,7 @@ define_makeflags (all, makefile)
|
|||
break;
|
||||
}
|
||||
|
||||
flagslen += 4 + sizeof ref; /* Four more for the possible " -- ". */
|
||||
flagslen += 4 + sizeof posixref; /* Four more for the possible " -- ". */
|
||||
|
||||
#undef ADD_FLAG
|
||||
|
||||
|
@ -1767,8 +1779,16 @@ define_makeflags (all, makefile)
|
|||
}
|
||||
|
||||
/* Copy in the string. */
|
||||
bcopy (ref, p, sizeof ref - 1);
|
||||
p += sizeof ref - 1;
|
||||
if (posix_pedantic)
|
||||
{
|
||||
bcopy (posixref, p, sizeof posixref - 1);
|
||||
p += sizeof posixref - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
bcopy (ref, p, sizeof ref - 1);
|
||||
p += sizeof ref - 1;
|
||||
}
|
||||
}
|
||||
else if (p[-1] == '-')
|
||||
/* Kill the final space and dash. */
|
||||
|
|
Loading…
Reference in a new issue