makefile

Posted 进心进利

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile相关的知识,希望对你有一定的参考价值。

为什么需要makefile?

当我们有多个.c 和 .h文件需要同时编译的时候makefile的作用就出现了。makefile可以实现一键编译。

makefile是用来管理工程的。

makefile的基本概念

结构图

目标:依赖 (tab键)命令

目标:目标顶格写,(冒号后面是依赖)

依赖:依赖是用来产生目标的原材料

命令:命令前面一定是tab,不能是空格。命令是生成那个目标所要做的动作

makefile的基本工作原理

其一:当我们执行make xx的时候Makefile会自动执行xx这个目标下面的命令

其二:当我们make xx的时候,是否执行命令是取决于依赖的,只有在依赖成立的时候才会执行

其三:我们直接执行make和我们执行第一个目标的效果是一样的。

举例分析:

a.c文件
#include<stdio.h> int main(void) extern i; { int a=10; printf("a=%d.\n",a); }

a.c文件
int i=5;

第一种:执行gcc a.c b.c -o ab     //将编译后生成ab

第二种:利用Makefile文件

exe:a.c  b.c
        gcc a.c b.c -o ab
clean:
        rm exe

写完文件后每次编译只需要执行make,自动执行第一个目标。这是最基础的Makefile

 

以上是关于makefile的主要内容,如果未能解决你的问题,请参考以下文章

Makefile文件语法

使用带有 NMake 样式 Makefile 的 clang-cl 无法回显

如何使用 makefile 使用 Visual Studio 编译代码

重建后的Makefile重新编译代码需要很多时间

Makefile

Makefile步步为营