class Shog::ObjCopy

Attributes

bin[RW]

Public Instance Methods

id() click to toggle source
# File lib/rule/objcopy.rb, line 7
def id
  :objcopy
end
rule() click to toggle source
# File lib/rule/objcopy.rb, line 11
def rule
  {
    "command" => "$bin -O $arch $in $out",
    "description" => "Objcopy $out",
  }
end
target(params) click to toggle source
# File lib/rule/objcopy.rb, line 18
def target(params)
  input = PathSet.make(params[:input])
  output = if params[:output]
             PathSet.make(Path.make(params[:output], :outoftree => true))
           elsif params[:suffix]
             PathSet.make(Path.make(params[:input], :outoftree => true).with_suffix(params[:suffix]))
           else
             raise "Please either provide output name of suffix for output file"
           end

  variables = {
    "bin" => params[:bin] || @bin || "objcopy",
  }
  variables["arch"] = params[:arch] if params[:arch]
  {:rule => "objcopy", :input => input, :output => output, :variables => variables}
end