summaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-01 07:59:24 -0400
committerPaul Smith <psmith@gnu.org>2013-05-01 07:59:24 -0400
commit9acb657eb18a35a920fa24615e5f80060e656e72 (patch)
tree0f300a1985cd8d24d2979ac75c44b6ea1070a825 /job.c
parent19a69bafc0913f13e334b5f56d95c693fab29023 (diff)
downloadgunmake-9acb657eb18a35a920fa24615e5f80060e656e72.tar.gz
Don't synchronize output for recursive make unless -Omake
Diffstat (limited to 'job.c')
-rw-r--r--job.c6
1 files changed, 4 insertions, 2 deletions
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);