mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
7c469c0b9d
Tested CRuby 1.8.6 and 1.9.3 You can see building configuration in build_config.rb
26 lines
729 B
Ruby
26 lines
729 B
Ruby
dir = File.dirname(__FILE__).sub(%r|^\./|, '')
|
|
|
|
MRuby.each_target do
|
|
lex_def = "#{dir}/lex.def"
|
|
objs = Dir.glob("src/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") } + ["#{build_dir}/#{dir}/y.tab.o"]
|
|
self.libmruby << objs
|
|
|
|
file "#{build_dir}/lib/libmruby_core.a" => objs do |t|
|
|
archive t.name, 'r', t.prerequisites
|
|
end
|
|
|
|
# Parser
|
|
file "#{build_dir}/#{dir}/y.tab.c" => ["#{dir}/parse.y"] do |t|
|
|
run_yacc t.name, t.prerequisites.first
|
|
end
|
|
|
|
file "#{build_dir}/#{dir}/y.tab.o" => ["#{build_dir}/#{dir}/y.tab.c", lex_def] do |t|
|
|
compile_c t.name, t.prerequisites.first, [], dir
|
|
end
|
|
|
|
# Lexical analyzer
|
|
file lex_def => "#{dir}/keywords" do |t|
|
|
run_gperf t.name, t.prerequisites.first
|
|
end
|
|
end
|