summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--job.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6badda8..148ca6a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-01 Paul Smith <psmith@gnu.org>
+
+ * job.c (start_job_command): Don't redirect output for recursive
+ make jobs, unless we're in makefile synchronization mode.
+
2013-04-29 Eli Zaretskii <eliz@gnu.org>
* w32/include/dlfcn.h: New file.
diff --git a/job.c b/job.c
index 2a470b6..2488808 100644
--- a/job.c
+++ b/job.c
@@ -1707,8 +1707,10 @@ start_job_command (struct child *child)
#endif
#ifdef OUTPUT_SYNC
- /* Divert child output into tempfile(s) if output_sync in use. */
- if (output_sync)
+ /* Divert child output if output_sync in use. Don't capture
+ recursive make output unless we are synchronizing "make" mode. */
+ if (output_sync && (output_sync == OUTPUT_SYNC_MAKE
+ || !(flags & COMMANDS_RECURSE)))
{
int outfd = fileno (stdout);
int errfd = fileno (stderr);