• (转)Make命令简介与使用


    转载自阮一峰的博客:
    http://www.ruanyifeng.com/blog/2015/02/make.html

    代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。
    Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,就要重新构建的项目,都可以用Make构建。

    一、Make的概念

    Make这个词,英语的意思是"制作"。Make命令直接用了这个意思,就是要做出某个文件。比如,要做出文件a.txt,就可以执行下面的命令。

    	$ make a.txt
    

    但是,如果你真的输入这条命令,它并不会起作用。因为Make命令本身并不知道,如何做出a.txt,需要有人告诉它,如何调用其他命令完成这个目标。
    比如,假设文件 a.txt 依赖于 b.txt 和 c.txt ,是后面两个文件连接(cat命令)的产物。那么,make 需要知道下面的规则。

    a.txt: b.txt c.txt
        cat b.txt c.txt > a.txt
    

    也就是说,make a.txt 这条命令的背后,实际上分成两步:

    1. 第一步,确认 b.txt 和 c.txt 必须已经存在
    2. 第二步使用 cat 命令 将这个两个文件合并,输出为新文件。

    像这样的规则,都写在一个叫做__Makefile__的文件中,Make命令依赖这个文件进行构建。Makefile文件也可以写为makefile, 或者用命令行参数指定为其他文件名。

    $ make -f rules.txt
    

    或者

    $ make --file=rules.txt
    

    上面代码指定make命令依据rules.txt文件中的规则,进行构建。

    总之,make只是一个根据指定的Shell命令进行构建的工具。它的规则很简单,你规定要构建哪个文件、它依赖哪些源文件,当那些文件有变动时,如何重新构建它。

    更多关于make命令的使用,请看阮一峰的博客
    http://www.ruanyifeng.com/blog/2015/02/make.html

  • 相关阅读:
    一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?
    nginx.conf详解
    50:树中两个结点的最低公共祖先
    49:把字符串转换为整数
    48:不能被继承的类
    47:不用加减乘除做加法
    46:求1+2+...+n
    45:圆圈中最后剩下的数字
    44:扑克牌顺子
    43:n个骰子的点数
  • 原文地址:https://www.cnblogs.com/lipijin/p/4481641.html
Copyright © 2020-2023  润新知