summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/ninjabackend.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 8971abd2b..a75befd73 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1170,6 +1170,13 @@ class NinjaBackend(backends.Backend):
# they use or export.
for s in scan_sources:
elem.deps.add(s[0])
+ # We need a full dependency on the output depfiles of other targets. If
+ # they change we need to completely
+ for t in target.get_all_linked_targets():
+ if self.should_use_dyndeps_for_target(t):
+ elem.deps.add(os.path.join(self.get_target_dir(t), t.get_filename()))
+ elem.deps.update({os.path.join(self.get_target_dir(t), t.get_filename())
+ for t in self.flatten_object_list(target)[1]})
elem.orderdeps.update(object_deps)
self.add_build(elem)