Class: Shog::Generator
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(backend) ⇒ Generator
constructor
A new instance of Generator.
Constructor Details
#initialize(backend) ⇒ Generator
Returns a new instance of Generator.
11 12 13 |
# File 'lib/generator.rb', line 11 def initialize(backend) @backend = backend end |
Instance Method Details
#generate ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/generator.rb', line 15 def generate emitter = @backend.emitter ctx = Context.new(@backend, emitter) if File.exists?("Kconfig") and not File.exists?(".config") success = system("conf --alldefconfig -s Kconfig") exit 1 unless success end # Register all rules ctx.register_rule(CC) ctx.register_rule(Link) ctx.register_rule(ObjCopy) ctx.register_rule(Kconfig) ctx.register_rule(GenerateBuild) ctx.register_rule(Yacc) Path.pwd = "." ctx.visit_dir(".", false) emitter.default(ctx.default_target) emitter.finish end |