diff options
| -rw-r--r-- | src/task_ar.cc | 9 | ||||
| -rw-r--r-- | src/task_ld.cc | 9 | ||||
| -rw-r--r-- | src/task_so.cc | 9 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/task_ar.cc b/src/task_ar.cc index 74ea888..16e0ce8 100644 --- a/src/task_ar.cc +++ b/src/task_ar.cc @@ -72,6 +72,15 @@ bool TaskAR::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } diff --git a/src/task_ld.cc b/src/task_ld.cc index c7014ff..a3f02d1 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -78,6 +78,15 @@ bool TaskLD::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } diff --git a/src/task_so.cc b/src/task_so.cc index f922ac3..090105a 100644 --- a/src/task_so.cc +++ b/src/task_so.cc @@ -74,6 +74,15 @@ bool TaskSO::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } |
