linux makefile简单介绍

来源:互联网 发布:淘宝联盟需要交钱吗 编辑:程序博客网 时间:2024/05/16 12:30

我们来看看linux下面的Makefile的规则:

target ... : prerequisites ...
command
...
...
target也就是一个目标文件,可以是Object File,也可以是执行文件。
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。说白一点就是说,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容。

简单的来个例子:首先我们新建一个a.h文件

#include<stdio.h>int add(int x,int y);
然后新建一个a.c文件

#include"a.h"int add(int x , int y ){return x + y;}
最后我们新建一个b.c
#include<stdio.h>#include"a.h"int main(){printf("make file anwser is %d\n",add(3,4));return 0 ;}
下面我们要做的就是把这几个文件通过makefile连接起来。这里直接贴出来。

obj=a.o b.oc : $(obj)        g++ -o c $(obj)a.o : a.c a.h        g++ -c a.c a.hb.o : a.c b.c a.h        g++ -c a.c b.c a.hclean:        rm  $(obj)

下面的clean就是当你输入make clean的时候执行的。

0 0
原创粉丝点击