summaryrefslogtreecommitdiff
path: root/remake.c
diff options
context:
space:
mode:
Diffstat (limited to 'remake.c')
-rw-r--r--remake.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/remake.c b/remake.c
index ddf4f4a..a4dff6f 100644
--- a/remake.c
+++ b/remake.c
@@ -558,10 +558,13 @@ notice_finished_file (file)
d->file->command_state = cs_finished;
d->file->updated = 1;
d->file->update_status = file->update_status;
- if (just_print_flag || question_flag)
- d->file->last_mtime = file->last_mtime;
- else
- d->file->last_mtime = 0;
+
+ if (!d->file->phony)
+ /* Fetch the new modification time.
+ We do this instead of just invalidating the cached time
+ so that a vpath_search can happen. Otherwise, it would
+ never be done because the target is already updated. */
+ (void) file_mtime (d->file);
}
}