make命令的Makefile文件初探

make 命令

Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,
就要重新构建的项目,都可以用Make构建,所有的构建规则都可以写在一个Makefile的文件中,
Make命令依赖这个文件进行构建。Makefile文件也可以写为makefile,
或者用命令行参数指定为其他文件名。

指定规则文件构建

$ make -f rules.txt
# 或者
$ make --file=rules.txt

如果没有指定文件则默认执行Makefile文件。

Makefile语法如下:

 : 
[tab]  
  • 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

你可能感兴趣的:(make命令的Makefile文件初探)