Module: Magica

Defined in:
lib/magica.rb,
lib/magica/dsl.rb,
lib/magica/build.rb,
lib/magica/target.rb,
lib/magica/command.rb,
lib/magica/version.rb,
lib/magica/toolchain.rb,
lib/magica/dependency.rb,
lib/magica/application.rb,
lib/magica/commands/git.rb,
lib/magica/package_config.rb,
lib/magica/commands/linker.rb,
lib/magica/commands/compiler.rb

Overview

:nodoc:

Defined Under Namespace

Modules: DSL Classes: Application, Build, Command, Dependency, PackageConfig, Target, Toolchain

Constant Summary collapse

VERSION =
'0.9.0'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_toolchainObject

Returns the value of attribute default_toolchain.



7
8
9
# File 'lib/magica.rb', line 7

def default_toolchain
  @default_toolchain
end

.toolchain_paramsObject

Returns the value of attribute toolchain_params.



7
8
9
# File 'lib/magica.rb', line 7

def toolchain_params
  @toolchain_params
end

Class Method Details

.buildsObject



9
10
11
# File 'lib/magica.rb', line 9

def builds
  @builds ||= {}
end

.default_compile_taskObject



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/magica.rb', line 24

def default_compile_task
  proc { |options|
    clean if options[:clean]

    do_target(options[:target])

    objects = objfile(@sources)
    @sources.each { |source| compile source }

    link exefile, objects
  }
end

.each_build(&block) ⇒ Object



13
14
15
16
17
18
# File 'lib/magica.rb', line 13

def each_build(&block)
  return to_enum(:each_build) if block.nil?
  @builds.each do |_, build|
    build.instance_eval(&block)
  end
end

.rootObject



20
21
22
# File 'lib/magica.rb', line 20

def root
  Dir.pwd
end