diff options
Diffstat (limited to 'ruby_1_9_3/doc/rake/example')
-rw-r--r-- | ruby_1_9_3/doc/rake/example/Rakefile1 | 38 | ||||
-rw-r--r-- | ruby_1_9_3/doc/rake/example/Rakefile2 | 35 | ||||
-rw-r--r-- | ruby_1_9_3/doc/rake/example/a.c | 6 | ||||
-rw-r--r-- | ruby_1_9_3/doc/rake/example/b.c | 6 | ||||
-rw-r--r-- | ruby_1_9_3/doc/rake/example/main.c | 11 |
5 files changed, 96 insertions, 0 deletions
diff --git a/ruby_1_9_3/doc/rake/example/Rakefile1 b/ruby_1_9_3/doc/rake/example/Rakefile1 new file mode 100644 index 0000000000..39f8bcceb0 --- /dev/null +++ b/ruby_1_9_3/doc/rake/example/Rakefile1 @@ -0,0 +1,38 @@ +# Example Rakefile -*- ruby -*- + +task :default => [:main] + +file "a.o" => ["a.c"] do |t| + src = t.name.sub(/\.o$/, '.c') + sh "gcc #{src} -c -o #{t.name}" +end + +file "b.o" => ["b.c"] do |t| + src = t.name.sub(/\.o$/, '.c') + sh "gcc #{src} -c -o #{t.name}" +end + +file "main.o" => ["main.c"] do |t| + src = t.name.sub(/\.o$/, '.c') + sh "gcc #{src} -c -o #{t.name}" +end + +OBJFILES = ["a.o", "b.o", "main.o"] +task :obj => OBJFILES + +file "main" => OBJFILES do |t| + sh "gcc -o #{t.name} main.o a.o b.o" +end + +task :clean do + rm_f FileList['*.o'] + Dir['*~'].each { |fn| rm_f fn } +end + +task :clobber => [:clean] do + rm_f "main" +end + +task :run => ["main"] do + sh "./main" +end diff --git a/ruby_1_9_3/doc/rake/example/Rakefile2 b/ruby_1_9_3/doc/rake/example/Rakefile2 new file mode 100644 index 0000000000..35310eceb5 --- /dev/null +++ b/ruby_1_9_3/doc/rake/example/Rakefile2 @@ -0,0 +1,35 @@ +# Example Rakefile -*- ruby -*- +# Using the power of Ruby + +task :default => [:main] + +def ext(fn, newext) + fn.sub(/\.[^.]+$/, newext) +end + +SRCFILES = Dir['*.c'] +OBJFILES = SRCFILES.collect { |fn| ext(fn,".o") } + +OBJFILES.each do |objfile| + srcfile = ext(objfile, ".c") + file objfile => [srcfile] do |t| + sh "gcc #{srcfile} -c -o #{t.name}" + end +end + +file "main" => OBJFILES do |t| + sh "gcc -o #{t.name} main.o a.o b.o" +end + +task :clean do + rm_f FileList['*.o'] + Dir['*~'].each { |fn| rm_f fn } +end + +task :clobber => [:clean] do + rm_f "main" +end + +task :run => ["main"] do + sh "./main" +end diff --git a/ruby_1_9_3/doc/rake/example/a.c b/ruby_1_9_3/doc/rake/example/a.c new file mode 100644 index 0000000000..620e6f8007 --- /dev/null +++ b/ruby_1_9_3/doc/rake/example/a.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void a() +{ + printf ("In function a\n"); +} diff --git a/ruby_1_9_3/doc/rake/example/b.c b/ruby_1_9_3/doc/rake/example/b.c new file mode 100644 index 0000000000..9b24aa1273 --- /dev/null +++ b/ruby_1_9_3/doc/rake/example/b.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void b() +{ + printf ("In function b\n"); +} diff --git a/ruby_1_9_3/doc/rake/example/main.c b/ruby_1_9_3/doc/rake/example/main.c new file mode 100644 index 0000000000..a04558a251 --- /dev/null +++ b/ruby_1_9_3/doc/rake/example/main.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +extern void a(); +extern void b(); + +int main () +{ + a(); + b(); + return 0; +} |