make 命令
Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,
就要重新构建的项目,都可以用Make构建,所有的构建规则都可以写在一个Makefile的文件中,
Make命令依赖这个文件进行构建。Makefile文件也可以写为makefile,
或者用命令行参数指定为其他文件名。
指定规则文件构建
$ make -f rules.txt
# 或者
$ make --file=rules.txt
如果没有指定文件则默认执行Makefile文件。
Makefile语法如下:
<target> : <prerequisites>
[tab] <commands>
- target:目标(一个名字)-比如把a文件拷贝到版本、打印变量
- prerequisites:前置条件-比如拷贝操作需要源文件和目标文件、要打印的变量,多个条件之间以空格隔开
- tab:设置完目标后换行要以tab键起行,然后开始写命令
- commands:一系列的执行命令,多个命令之间用“;”隔开,也可以另起一行(以tab键起行)
一个小例子
将a.txt文件内容拷贝到b.txt文件(有时候可以不加后缀名)
copy_a_to_b : a.txt b.txt
cp a.txt b.txt
打印变量
name = cat
print_name:
echo $(name)
构建多个target
all是一个伪目标我的理解就是这个目标需要依赖其他目标的完成,可以显示指定的用.PHONY
如: .PHONY all : target1 target2
all : copy_a_to_b remove_a
#target1 将a.txt文件内容拷贝到b.txt文件
copy_a_to_b : a.txt b.txt
cp a.txt b.txt
#target2 删除a.txt文件
remove_a:
rm -r a.txt
参考文档
http://www.gnu.org/software/make/manual/make.html
http://blog.csdn.net/u012398613/article/details/50749767
http://www.cnblogs.com/hnrainll/archive/2011/04/12/2014082.html