mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-29 00:05:59 +00:00
- Fix Savannah bug #21824: don't loop through NULL cmds pointer
- Fix Savannah bugs #24509, 18963: doc enhancements
This commit is contained in:
parent
70c726c875
commit
958ea92eb8
3 changed files with 24 additions and 8 deletions
13
ChangeLog
13
ChangeLog
|
@ -3,8 +3,21 @@
|
|||
* function.c (windows32_openpipe): Update envp after calling
|
||||
sync_Path_environment.
|
||||
|
||||
2009-08-02 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* remake.c (notice_finished_file): Ensure file->cmds is not null
|
||||
before looping through them. Fixes Savannah bug #21824.
|
||||
|
||||
* doc/make.texi (Wildcard Examples): Clarify when objects is
|
||||
wildcard-expanded. Fixes Savannah bug #24509. Patch by Martin Dorey.
|
||||
(Include): Clarify the behavior of -include.
|
||||
Fixes Savannah bug #18963.
|
||||
|
||||
2009-08-01 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* doc/make.texi (Catalogue of Rules): Clarify where -c, -F,
|
||||
etc. come on the command line. Fixes Savannah bug #27093.
|
||||
|
||||
* expand.c (expand_argument): If the argument is large enough use
|
||||
xmalloc() instead of alloca(). Fixes Savannah bug #27143.
|
||||
|
||||
|
|
|
@ -1171,7 +1171,7 @@ Only after it has tried to find a way to remake a makefile and failed,
|
|||
will @code{make} diagnose the missing makefile as a fatal error.
|
||||
|
||||
If you want @code{make} to simply ignore a makefile which does not exist
|
||||
and cannot be remade, with no error message, use the @w{@code{-include}}
|
||||
or cannot be remade, with no error message, use the @w{@code{-include}}
|
||||
directive instead of @code{include}, like this:
|
||||
|
||||
@example
|
||||
|
@ -1179,7 +1179,10 @@ directive instead of @code{include}, like this:
|
|||
@end example
|
||||
|
||||
This acts like @code{include} in every way except that there is no
|
||||
error (not even a warning) if any of the @var{filenames} do not exist.
|
||||
error (not even a warning) if any of the @var{filenames} (or any
|
||||
prerequisites of any of the @var{filenames}) do not exist or cannot be
|
||||
remade.
|
||||
|
||||
For compatibility with some other @code{make} implementations,
|
||||
@code{sinclude} is another name for @w{@code{-include}}.
|
||||
|
||||
|
@ -1966,9 +1969,11 @@ objects = *.o
|
|||
|
||||
@noindent
|
||||
then the value of the variable @code{objects} is the actual string
|
||||
@samp{*.o}. However, if you use the value of @code{objects} in a target,
|
||||
prerequisite, or recipe, wildcard expansion will take place at that time.
|
||||
To set @code{objects} to the expansion, instead use:
|
||||
@samp{*.o}. However, if you use the value of @code{objects} in a
|
||||
target or prerequisite, wildcard expansion will take place there. If
|
||||
you use the value of @code{objects} in a recipe, the shell may perform
|
||||
wildcard expansion when the recipe runs. To set @code{objects} to the
|
||||
expansion, instead use:
|
||||
|
||||
@example
|
||||
objects := $(wildcard *.o)
|
||||
|
|
4
remake.c
4
remake.c
|
@ -82,7 +82,6 @@ int
|
|||
update_goal_chain (struct dep *goals)
|
||||
{
|
||||
int t = touch_flag, q = question_flag, n = just_print_flag;
|
||||
unsigned int j = job_slots;
|
||||
int status = -1;
|
||||
|
||||
#define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \
|
||||
|
@ -263,7 +262,6 @@ update_goal_chain (struct dep *goals)
|
|||
touch_flag = t;
|
||||
question_flag = q;
|
||||
just_print_flag = n;
|
||||
job_slots = j;
|
||||
}
|
||||
|
||||
return status;
|
||||
|
@ -872,7 +870,7 @@ notice_finished_file (struct file *file)
|
|||
really check the target's mtime again. Otherwise, assume the target
|
||||
would have been updated. */
|
||||
|
||||
if (question_flag || just_print_flag || touch_flag)
|
||||
if (question_flag || just_print_flag || touch_flag && file->cmds != 0)
|
||||
{
|
||||
for (i = file->cmds->ncommand_lines; i > 0; --i)
|
||||
if (! (file->cmds->lines_flags[i-1] & COMMANDS_RECURSE))
|
||||
|
|
Loading…
Reference in a new issue