from optparse import OptionParser
import os
+import os.path
import sys
import string
import re
+rulesDir = "rules"
+snippetsDir = "snippets"
+
class LineList(list):
"""List of text lines"""
def getDiff(self, other):
def loadFromFile(self, fname):
"""Loads itself from file."""
- f = open(fname, "r")
+ try:
+ f = open(fname, "r")
+ except IOError:
+ sys.stderr.write("Cannot open %s\n" % fname)
+ sys.exit(1)
+
self.extend(f.readlines())
f.close
parser.add_option("-o", "--output",
action="store", dest="output", default=False, metavar="RULES",
help="Write Makefile.rules to file RULES")
+ parser.add_option("-a", "--all",
+ action="store_true", dest="all",
+ help="Rebuild all rules acording to rulesdef.py")
(options, args) = parser.parse_args()
return options, args
# f.writelines(rules.rules)
# f.close()
+def buildAllRules():
+ import rulesdef
+ os.chdir(snippetsDir)
+ for rules in rulesdef.rules:
+ print 'Building rules: %s' % rules
+ outputDir = os.path.join(sys.path[0], rulesDir, rules)
+ if not os.path.isdir(outputDir): os.makedirs(outputDir)
+ buildRules(rulesdef.rules[rules], os.path.join(outputDir, 'Makefile.rules'))
def main():
(options, args) = parseCommandLine()
- if options.split:
+ if options.all:
+ buildAllRules()
+ elif options.split:
splitRules(options.split, options.output)
else:
buildRules(args, options.output)