make 命令构建应用

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来自陈浩的一片老文,但绝对营养。 示例工程:3 个头文件*.h,和 8 个 C 文件*.c。 初 编译过程,源文件...
    周筱鲁阅读 4,742评论 0 17
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,237评论 2 33
  • 第一篇 定义变量时, =号的两边不可以留空格 条件测试语句 [ 符号的两边都要留空格 条件测试的内容,如果是字符串...
    ifeelok0319阅读 1,318评论 0 0
  • M鱼儿yo 2017年07月24日 2017-07-24 20:2933 舅妈的老公 第二次出轨 而她 还在为了儿...
    Yoyoyua阅读 125评论 0 0
  • 梦 ...
    毛骏琦阅读 303评论 0 2