Rakefileでgccコンパイルしてみる

MakefileRuby版であるRakefilegccコンパイルをやってみました。

まずはMakefileで書いてみます。

CC = gcc

all: hello

hello: hello.o
     ${CC} -o hello hello.o

hello.o: hello.c
     ${CC} -c hello.c

clean:
     rm -rf hello *.o

次にRakefileで書いてみます。

CC = "gcc"

task :default => "hello"

file "hello" => ["hello.o"] do
  sh "#{CC} -o hello hello.o"
end

file "hello.o" => "hello.c" do
  sh "#{CC} -c hello.c"
end

task :clean do
  sh "rm -rf hello *.o"
end

うむ、まったく同じに書けてしまいます。
コンパイル方法は、makeをrakeと換えて打つだけです。

% rake
gcc -c hello.c
gcc -o hello hello.o

ただ、これだけだとあまり魅力を感じることができないので、次はもう少し踏み込んでみたいと思います。