什么是Rake?
Rake是一个Ruby的构建工具,也是一个用于项目构建的领域专用语言(DSL)。(可以阅读Martin Fowler《Using The Rake Build Language》)。
Ruby程序员喜欢用Rake作为构建工具,在Rake中你可以声明很多task,也可以声明这些task之间的相互依赖关系,语法简单明了。其实,Rake不仅仅可以用来作为Ruby的构建工具,它可以用于其他语言项目的构建。当然,我不是希望说服所有程序员在他们最擅长的语言下面都使用rake进行构建。但是,玩玩儿还是不错的。说不定还可能因此喜欢上rake了呢。下面分别以不同语言的最简程序为例:(https://github.com/kiwiwin/rake_build)
使用Rake构建C
hello.c
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
毫无疑问,make是C/C++程序员常用的工具,编译这个C程序可以使用一条命令:gcc hello.c -o hello
但是为了说明如何使用rake进行C构建,这里把上面的命令拆成两条命令:gcc -c hello.c; gcc hello.o -o hello
使用Rakefile