diff options
Diffstat (limited to 'ninjabackend.py')
-rw-r--r-- | ninjabackend.py | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/ninjabackend.py b/ninjabackend.py index f9d1979..f1274a7 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -287,19 +287,13 @@ class NinjaBackend(backends.Backend): self.generate_target(t, outfile) def generate_custom_target(self, target, outfile): - ofilenames = [os.path.join(self.get_target_dir(target), i) for i in target.output] + (srcs, ofilenames, cmd) = self.eval_custom_target_command(target) deps = [] for i in target.get_dependencies(): # FIXME, should not grab element at zero but rather expand all. if isinstance(i, list): i = i[0] deps.append(os.path.join(self.get_target_dir(i), i.get_filename()[0])) - srcs = [] - for i in target.sources: - if isinstance(i, str): - srcs.append(os.path.join(self.build_to_src, target.subdir, i)) - else: - srcs.append(i.rel_to_builddir(self.build_to_src)) if target.build_always: deps.append('PHONY') elem = NinjaBuildElement(ofilenames, 'CUSTOM_COMMAND', srcs) @@ -315,36 +309,6 @@ class NinjaBackend(backends.Backend): tmp = [tmp] for fname in tmp: elem.add_dep(os.path.join(self.get_target_dir(d), fname)) - cmd = [] - for i in target.command: - if isinstance(i, build.CustomTarget): - # GIR scanner will attempt to execute this binary but - # it assumes that it is in path, so always give it a full path. - tmp = i.get_filename()[0] - i = os.path.join(self.get_target_dir(i), tmp) - for (j, src) in enumerate(srcs): - i = i.replace('@INPUT%d@' % j, src) - for (j, res) in enumerate(ofilenames): - i = i.replace('@OUTPUT%d@' % j, res) - if i == '@INPUT@': - cmd += srcs - elif i == '@OUTPUT@': - cmd += ofilenames - else: - if '@OUTDIR@' in i: - i = i.replace('@OUTDIR@', self.get_target_dir(target)) - elif '@PRIVATE_OUTDIR_' in i: - match = re.search('@PRIVATE_OUTDIR_(ABS_)?([-a-zA-Z0-9.@:]*)@', i) - source = match.group(0) - if match.group(1) is None: - lead_dir = '' - else: - lead_dir = self.environment.get_build_dir() - target_id = match.group(2) - i = i.replace(source, - os.path.join(lead_dir, - self.get_target_dir(self.build.targets[target_id]))) - cmd.append(i) elem.add_item('COMMAND', cmd) elem.add_item('description', 'Generating %s with a custom command.' % target.name) |