超漢字上で、mrubyを使ってhello worldを表示させる。
Revisão | 96f5c448a100c4f2439c407ebb09878bbb1ef13a (tree) |
---|---|
Hora | 2014-07-14 00:02:02 |
Autor | ornse01 <ornse01@user...> |
Commiter | ornse01 |
add Rakefile to build and link mruby library and BTRON application.
@@ -0,0 +1 @@ | ||
1 | +../src/Rakefile | |
\ No newline at end of file |
@@ -0,0 +1,47 @@ | ||
1 | +require 'rake/clean' | |
2 | +require 'rake/loaders/makefile' | |
3 | + | |
4 | +CC = "#{ENV['GNUi386']}/bin/gcc386" | |
5 | +INCDIR = ["#{ENV['BD']}/include", "../src", "../src/posix_include", "../src/mruby/include"] | |
6 | +CFLAGS = "-O2 -fno-strength-reduce -mpreferred-stack-boundary=2 -Wall" | |
7 | +CPPFLAGS = "#{INCDIR.map {|item| '-I'+item }.join(' ')} -DPCAT" | |
8 | +LOADLIBES = "-limg -lapp -ltf -lgcc -lmain_r -ldbg -llang -lg -lsys -lg -lf -lsvc" | |
9 | +LDFLAGS = "-L#{ENV['BD']}/lib/i386e2" | |
10 | +NM = "#{ENV['GNUi386']}/bin/nm" | |
11 | +MAKEDEPS = "#{ENV['BD']}/etc/makedeps #{CPPFLAGS}" | |
12 | + | |
13 | +SRCS = FileList["../src/*.c"] | |
14 | +OBJS = SRCS.pathmap("%f").ext('o') | |
15 | + | |
16 | +CLEAN.include(OBJS) | |
17 | +CLOBBER.include("mruby-sample.out") | |
18 | +CLOBBER.include("mruby-sample.map") | |
19 | +CLOBBER.include("Dependencies.mf") | |
20 | + | |
21 | +task :default => ["mruby_lib", "mruby-sample.map"] | |
22 | + | |
23 | +task "clean" do | |
24 | + sh "ruby ../src/mruby/minirake MRUBY_CONFIG=../src/build_config.rb MRUBY_BUILD_DIR=./mruby -f ../src/mruby/Rakefile clean" | |
25 | +end | |
26 | + | |
27 | +task "mruby_lib" do | |
28 | + sh "ruby ../src/mruby/minirake MRUBY_CONFIG=../src/build_config.rb MRUBY_BUILD_DIR=./mruby -f ../src/mruby/Rakefile" | |
29 | +end | |
30 | + | |
31 | +file "mruby-sample.out" => OBJS do |t| | |
32 | + sh "#{CC} #{LDFLAGS} #{t.prerequisites.join(' ')} mruby/pcat/lib/libmruby.a #{LOADLIBES} -o #{t.name} " | |
33 | +end | |
34 | + | |
35 | +rule '.o' => [proc{|t| "../src/" + t.pathmap("%f").pathmap("%n") + ".c"}] do |t| | |
36 | + sh "#{CC} #{CFLAGS} #{CPPFLAGS} -c #{t.source} -o #{t.name}" | |
37 | +end | |
38 | + | |
39 | +rule '.map' => '.out' do |t| | |
40 | + sh "#{NM} -n #{t.source} > #{t.name}" | |
41 | +end | |
42 | + | |
43 | +file "Dependencies.mf" => SRCS do |t| | |
44 | + sh "perl #{MAKEDEPS} #{t.name} #{t.prerequisites.join(' ')}" | |
45 | +end | |
46 | + | |
47 | +import "Dependencies.mf" |