mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Improved build scripts and config files
This commit is contained in:
+9
-9
@@ -1,25 +1,25 @@
|
||||
dir = File.dirname(__FILE__).sub(%r|^\./|, '')
|
||||
|
||||
MRuby.each_target do
|
||||
dir = File.dirname(__FILE__).relative_path_from(root)
|
||||
|
||||
lex_def = "#{dir}/lex.def"
|
||||
objs = Dir.glob("src/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") } + ["#{build_dir}/#{dir}/y.tab.o"]
|
||||
objs = Dir.glob("src/*.{c}").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } + [objfile("#{build_dir}/#{dir}/y.tab")]
|
||||
self.libmruby << objs
|
||||
|
||||
file "#{build_dir}/lib/libmruby_core.a" => objs do |t|
|
||||
archive t.name, 'rs', t.prerequisites
|
||||
file libfile("#{build_dir}/lib/libmruby_core") => objs do |t|
|
||||
archiver.run t.name, t.prerequisites
|
||||
end
|
||||
|
||||
# Parser
|
||||
file "#{build_dir}/#{dir}/y.tab.c" => ["#{dir}/parse.y"] do |t|
|
||||
run_yacc t.name, t.prerequisites.first
|
||||
yacc.run 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
|
||||
file objfile("#{build_dir}/#{dir}/y.tab") => ["#{build_dir}/#{dir}/y.tab.c", lex_def] do |t|
|
||||
cc.run t.name, t.prerequisites.first, [], [dir]
|
||||
end
|
||||
|
||||
# Lexical analyzer
|
||||
file lex_def => "#{dir}/keywords" do |t|
|
||||
run_gperf t.name, t.prerequisites.first
|
||||
gperf.run t.name, t.prerequisites.first
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user