• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

超漢字上で、mrubyを使ってhello worldを表示させる。


Commit MetaInfo

Revision96f5c448a100c4f2439c407ebb09878bbb1ef13a (tree)
Time2014-07-14 00:02:02
Authorornse01 <ornse01@user...>
Commiterornse01

Log Message

add Rakefile to build and link mruby library and BTRON application.

Change Summary

Incremental Difference

--- /dev/null
+++ b/pcat/Rakefile
@@ -0,0 +1 @@
1+../src/Rakefile
\ No newline at end of file
--- /dev/null
+++ b/src/Rakefile
@@ -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"