diff options
author | Anas Nashif <anas.nashif@intel.com> | 2012-11-05 11:22:40 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-05-30 03:24:45 -0400 |
commit | 28ebed0ccf1ab630eea514d44e8ff18987b235ea (patch) | |
tree | ac3801dd168bff97672615ca3c2682d38d464c40 | |
parent | c6884ac05ee7d08fcfb2bf816bf5de62dbcdb214 (diff) | |
download | make-28ebed0ccf1ab630eea514d44e8ff18987b235ea.tar.gz make-28ebed0ccf1ab630eea514d44e8ff18987b235ea.tar.bz2 make-28ebed0ccf1ab630eea514d44e8ff18987b235ea.zip |
parallel build
-rw-r--r-- | remake.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -301,7 +301,7 @@ update_file (struct file *file, unsigned int depth) /* Check for the case where a target has been tried and failed but the diagnostics hasn't been issued. If we need the diagnostics then we will have to continue. */ - if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag)) + if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag) && f->command_state!=cs_not_started ) { DBF (DB_VERBOSE, _("Pruning file `%s'.\n")); return f->command_state == cs_finished ? f->update_status : 0; @@ -614,6 +614,12 @@ update_file_1 (struct file *file, unsigned int depth) d->file->dontcare = file->dontcare; } + /* We may have already encountered this file earlier in the same + * pass before we knew we'd be updating this target. In that + * case calling update_file now would result in the file being + * inappropriately pruned so we toggle the considered bit back + * off first. */ + d->file->considered = !considered; dep_status |= update_file (d->file, depth); |