Makefile:项目代码编译管理
节省编译项目时间
一次编写终身受益
命名:makefile, Makefile
目录
1个规则
目标:依赖条件
(一个tab缩进)命令
1.目标的时间必须晚于依赖条件的时间,否则,更新目录。
2.依赖条件如果不存在,找寻新的规则去产生依赖。
ALL:指定makefile的最终生成的目标文件
不指定时,把第一个目标作为最终生成的目标
一个最简单的hello.c例子
一般我们直接用gcc hello.c -o hello
写成Makefile文件可以是
hello:hello.c
gcc hello.c -o hello
//或者可以分步写
hello:hello.o
gcc hello.o -o hello
hello.o:hello.c
gcc -c hello.o -o hello.o
把命令都显示了出来,把中间文件hello.o也输出来了。
//myadd.c
int add(int a,int b)
{
return a+b;
}
//mysub.c
int sub(int a,int b)
{
return a-b;
}
//mymath.c
#include<stdio.h>
int add(int,int);
int sub(int,int);
int main(void)
{
int a=100,b=10;
printf("%d+%d=%d\n",a,b,add(a,b));
printf("%d-%d=%d\n",a,b,sub(a,b));
return 0;
}
//makefile
mymath:mymath.o