Sha256: 23687d932bd73e28e1c67106cd80e5d3978776a591d37e13c644c8e835c964f6

Contents?: true

Size: 857 Bytes

Versions: 2

Compression:

Stored size: 857 Bytes

Contents

require 'erb'

class Makefile
  class << self
    
    # build the sketch Makefile for the given template based on the values in its software and hardware config files
    def compose_for_sketch(sketch_name)
      params = hardware_params.merge software_params
      params['target'] = sketch_name
      
      e = ERB.new File.read("#{File.dirname(__FILE__)}/makefile.erb")
      
      File.open("#{RAD_ROOT}/#{sketch_name}/Makefile", "w") do |f|
        f << e.result(binding)
      end
    end
    
    def hardware_params
      return @hardware_params if @hardware_params
      return @hardware_params = YAML.load_file( "#{RAD_ROOT}/config/hardware.yml")
    end
      
    def software_params
      return @software_params if @software_params
      return @software_params = YAML.load_file( "#{RAD_ROOT}/config/software.yml" )
    end
      
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rad-0.1.0 lib/rad/generators/makefile/makefile.rb
rad-0.1.1 lib/rad/generators/makefile/makefile.rb