* 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.
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
@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}}.
@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)
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) \
touch_flag = t;
question_flag = q;
just_print_flag = n;
- job_slots = j;
}
return status;
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))