1、语法:
目标文件:依赖文件1 依赖文件2
[tab键] 链接成目标文件命令
目标文件1:依赖文件 依赖文件
[tab键] 编译成目标文件1命令
目标文件2:依赖文件 依赖文件
[tab键] 编译成目标文件2命令
clean :
[tab键] rm 目标文件 目标文件1 目标文件2
2、makefile文件是从下往上写的,
如1中所示:
目标文件是由目标文件1和目标文件2链接而成的可执行程序,
目标文件1和目标文件2是编译后的.o文件
3、示例
//myfunc.c
#include <stdio.h>
void myfunc()
{
printf("hello world");
}
//myfunc.h
void myfunc();
//main.c
#include "myfunc.h"
int main()
{
myfunc();
return 0;
}
makefile
myfirst:main.o myfunc.o
gcc -o myfirst main.o myfunc.o
main.o:main.c myfunc.h
gcc -c main.c
myfunc.o:myfunc.c
gcc -c myfunc.c
clean:
rm myfirst main.o myfunc.o
执行结果如下:
注意:
1)标准头文件用<>,不要用“” ----->#include <stdio.h>
2)标准头文件不需要添加在makefile文件中。---------><stdio.h>就没有添加在makefile中。
3)命令前面有tab键
ps:此外还有简便方法:
直接make 文件名 ----->文件名与.c的名字必须相同。
就不用写makefile 了。