aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-02-06 20:00:59 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-02-06 20:00:59 +0200
commit3d5dd90432e5b18cc0d80ac562410776f93c9449 (patch)
treec51cd0f55fed576eb1f7dc0652d446b90c70b438
parentbca53c2346fc07fcd9322fe42ad4e6e25f6fc3ad (diff)
downloadmeson-3d5dd90432e5b18cc0d80ac562410776f93c9449.zip
meson-3d5dd90432e5b18cc0d80ac562410776f93c9449.tar.gz
meson-3d5dd90432e5b18cc0d80ac562410776f93c9449.tar.bz2
Generate compile rules.
-rwxr-xr-xgenerators.py20
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):