diff options
author | Axel Waggershauser <awagger@gmail.com> | 2015-02-05 23:35:49 +0100 |
---|---|---|
committer | Axel Waggershauser <awagger@gmail.com> | 2015-02-05 23:35:49 +0100 |
commit | 963892a7c339ffa3d5b15a13e98b170f6ca85427 (patch) | |
tree | ea7767ce4e4a07faf1760352484a3d05c3c1b1ad | |
parent | 67ddeb8a01d094f6826d967ea8f2c9f9c35e745e (diff) | |
download | meson-963892a7c339ffa3d5b15a13e98b170f6ca85427.zip meson-963892a7c339ffa3d5b15a13e98b170f6ca85427.tar.gz meson-963892a7c339ffa3d5b15a13e98b170f6ca85427.tar.bz2 |
basic support for 'build_always' feature of custom targets
-rw-r--r-- | build.py | 4 | ||||
-rw-r--r-- | ninjabackend.py | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -667,7 +667,8 @@ class CustomTarget: 'output' : True, 'command' : True, 'install' : True, - 'install_dir' : True} + 'install_dir' : True, + 'build_always' : True} def __init__(self, name, subdir, kwargs): self.name = name self.subdir = subdir @@ -740,6 +741,7 @@ class CustomTarget: raise InvalidArguments('"install_dir" must be a string.') else: self.install = False + self.build_always = kwargs.get('build_always', False) def get_basename(self): return self.name diff --git a/ninjabackend.py b/ninjabackend.py index abb2760..fb7dfae 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -281,6 +281,8 @@ class NinjaBackend(backends.Backend): deps = [os.path.join(i.get_subdir(), self.hackety_hack(i.get_filename())) for i in target.get_dependencies()] srcs = [os.path.join(self.build_to_src, target.subdir, i) for i in target.sources] deps += srcs + if target.build_always: + deps.append('PHONY') elem = NinjaBuildElement(ofilenames, 'CUSTOM_COMMAND', deps) cmd = [] for i in target.command: |