美文网首页
make 命令构建应用

make 命令构建应用

作者: 和谐共处 | 来源:发表于2017-08-21 11:10 被阅读26次

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

相关文章

  • make 命令构建应用

    make 命令 Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件...

  • make .SILENCT / CMake VERBOSE

    1. make的 .SILENT用法 默认情况下make打印构建目标所执行的命令。如果要禁止打印,可以使用make...

  • make命令的Makefile文件初探

    make 命令 Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件...

  • Makefile入门

    make是一个自动化构建工具,广泛应用于Unix及其类Unix系统中。make最先应用于编译C语言项目,不仅如此,...

  • laravel 5.4 passport验证

    1.在应用目录下执行 php artisan make:auth 和 php artisan migrate命令,...

  • 5.越狱设备-Cydia报错解决办法

    最近手机越狱后,通过编译 make命令再接着make package (打包)命令,最后make install ...

  • Make学习笔记

    make 是一个根据指定Shell命令进行构建的工具。规定要构建哪个文件,它依赖于哪些源文件,当这些文件变动时,如...

  • Makefile

    Makefile 构建工具,只需通过make一句命令就可以构建一个可执行程序 在很多C/C++开源项目中,conf...

  • makefile

    Makefile 构建工具,只需通过make一句命令就可以构建一个可执行程序 在很多C/C++开源项目中,conf...

  • Angular CLI

    几个常用的cli命令 ng build ng build [options] 构建应用的名称构建的属性配置在a...

网友评论

      本文标题:make 命令构建应用

      本文链接:https://www.haomeiwen.com/subject/lodcdxtx.html