首页 > 代码库 > makefile

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