1)安装make
make:一个自动化编译工具
sudo apt install make
2)makefile文件:Linux上的工程管理工具,可以实现自动化编译。(可以部分编译:修改了其中的几个文件的内容,大部分文件没有被修改时,只是编译修改过的文件,即自动化编译)
简单makefile文件示例:
准备三个文件:
//add.c
int add(int a,int b)
{
return a+b;
}
// max.c
int max(int x,int y)
{
return x>y?x:y;
}
//main.c
#include<stdio.h>
int add(int a,int b);
int max(int x,int y);
int main()
{
int a=5,b=10;
printf("a+b=%d \n",add(a,b));
printf("max=%d \n",max(a,b));
printf("Hello\n");
return 0;
}
自己手写一个makefile文件:(重点)
vim makefile
注意:顶格 Tab键
了解makefile生成规则
all:main
main:add.o max.o main.o
gcc -o main add.o max.o main.o
add.o:add.c
gcc -c add.c
max.o:max.c
gcc -c max.c
main.o:main.c
gcc -c main.c
clean:
rm -rf *.o main
make:

当对某个文件修改后,make时只被修改的文件重新编译

总结:makefile可以提高编译效率,使用make命令每次都只会编译那行修改了的或者依赖修改了的文件(间接修改),没有修改的文件不会重新编译。
本文介绍了Linux中使用make和makefile进行自动化编译的方法。通过编写makefile,可以实现仅编译修改过的文件,提高编译效率。示例展示了如何创建一个简单的makefile,包括规则定义及清理命令,使得在文件更新后,make命令能智能地重新编译必要的目标文件。
2202

被折叠的 条评论
为什么被折叠?



