make浅谈


Make浅谈

一、What’s Make

  1. 代码变成可执行文件叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build);
  2. make只是一个根据指定的Shell命令进行构建的工具。它的规则很简单,你规定要构建哪个文件、它依赖哪些源文件,当那些文件有变动时,如何重新构建它;

二、Makefile的格式

1.概述

  1. Makefile文件由一系列make的构建规则组成;每条规则的组成形式如下:
    <target> : <prerequisites>
     <commands>
    
  2. 前置条件和命令都是可选项,但是必须至少存在一个;

2.target

  1. 一般情况,target为文件名,指明make命令要构建的对象(当为多个文件名时,需要用空格隔开);
  2. target也可以是操作的名字,同时为了和当前目录中已存在的文件重复,需要声明其为伪目标,如下:
    .PHONY: clean
    clean :
     rm *.o temp
    

3.prerequisites

  1. 前置条件通常是一组文件名,之间用空格分隔。它指定了”目标”是否重新构建的判断标准:只要有一个前置文件不存在,或者有过更新(前置文件的last-modification时间戳比目标的时间戳新),”目标”就需要重新构建。

4.commands

  1. 命令(commands)表示如何更新目标文件,由一行或多行的Shell命令组成。它是构建”目标”的具体指令,它的运行结果通常就是生成目标文件。

文章作者: yangyang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yangyang !
  目录