diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-06 20:00:59 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-06 20:00:59 +0200 |
commit | 3d5dd90432e5b18cc0d80ac562410776f93c9449 (patch) | |
tree | c51cd0f55fed576eb1f7dc0652d446b90c70b438 | |
parent | bca53c2346fc07fcd9322fe42ad4e6e25f6fc3ad (diff) | |
download | meson-3d5dd90432e5b18cc0d80ac562410776f93c9449.zip meson-3d5dd90432e5b18cc0d80ac562410776f93c9449.tar.gz meson-3d5dd90432e5b18cc0d80ac562410776f93c9449.tar.bz2 |
Generate compile rules.
-rwxr-xr-x | generators.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/generators.py b/generators.py index 168c4b6..92bc518 100755 --- a/generators.py +++ b/generators.py @@ -54,9 +54,27 @@ class NinjaGenerator(Generator): def __init__(self, build, interp): Generator.__init__(self, build, interp) + self.ninja_filename = 'build.ninja' def generate(self): - pass + outfilename = os.path.join(self.environment.get_build_dir(), self.ninja_filename) + outfile = open(outfilename, 'w') + self.generate_rules(outfile) + + def generate_rules(self, outfile): + for compiler in self.build.compilers: + langname = compiler.get_language() + rule = 'rule %s_COMPILER\n' % langname + command = ' command = %s $FLAGS %s $out %s $in\n' % \ + (' '.join(compiler.get_exelist()),\ + ' '.join(compiler.get_output_flags()),\ + ' '.join(compiler.get_compile_only_flags())) + description = ' description = compiling %s object' % langname + outfile.write(rule) + outfile.write(command) + outfile.write(description) + outfile.write('\n') + outfile.write('\n') class ShellGenerator(Generator): def __init__(self, build, interp): |