aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/ninjabackend.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index b54fc75..930d37f 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1920,8 +1920,16 @@ rule FORTRAN_DEP_HACK
elem.write(outfile)
def generate_ending(self, outfile):
- targetlist = [self.get_target_filename(t) for t in self.build.get_targets().values()\
- if not isinstance(t, build.RunTarget)]
+ targetlist = []
+ for t in self.build.get_targets().values():
+ # RunTargets are meant to be invoked manually
+ if isinstance(t, build.RunTarget):
+ continue
+ # CustomTargets that aren't installed should only be built if they
+ # are used by something else or are meant to be always built
+ if isinstance(t, build.CustomTarget) and not (t.install or t.build_always):
+ continue
+ targetlist.append(self.get_target_filename(t))
elem = NinjaBuildElement(self.all_outputs, 'all', 'phony', targetlist)
elem.write(outfile)