http://blog.sina.com.cn/s/blog_8240cbef01018jel.html
2013
一般规则
目标(target):依赖(prerequiries)
<TAB>命令(Command)
1)目标是要生成的文件名称,可以使可执行文件或OBJ文件,也可以是一个执行动作的名称,例如“clean”。
2)依赖是用来产生目标的材料(源文件),一个目标经常用几个依赖。
3)命令时生成目标时执行的动作,一个规则可以含有几个命令,每个命令占一行。第一条规则中的目标将被确立为最终的目标。
并非所有的目标都有依赖,例如目标“clean”的功能是清除文件,没有依赖。
make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定:
make –f 文件名
在makefile中,存在系统默认的自动化变量
$^:代表所有的依赖文件
$@:代表目标
$<:代表第一个依赖文件
取自国嵌mini2440视频中的例子:
fun.c :
#include "fun.h"
int max_fun(int x,int y)
{
}
fun.h :
#include <stdio.h>
extern int max_fun(int x,int y);
main.c :
#include "fun.h"
int main(void)
{
}
makefile :
main:main.o fun.o
main.o:main.c fun.h
fun.o:fun.c fun.h
clean:
联系客服