03makefile学习之makefile的一个规则
以下为相关makefile的学习文章
01makefile学习之GCC编译的四个阶段(带编译阶段、汇编阶段、-S,-c的区别)
02makefile学习之makefile的基本原则
03makefile学习之makefile的一个规则
04makefile学习之多个规则处理多个文件
05makefile学习之两个函数和一个特殊规则clean
06makefile学习之三个自动变量(@ , @,@,^,$<)和模式规则
07makefile学习之习题1
08makefile学习之习题2
1 一个规则
一个规则是非常简单的,就是由两行组成,其中第一行:目标+冒号+依赖;第二行:开头有一个tab缩进,然后是利用该依赖生成该目标的命令。
注意:一般我们写复杂的makefile文件时一般都是由多个规则组成的。
格式如下:
目标:依赖
利用上面依赖生成目标的命令。//注意前面有个tab键。
2 例子
下面有一个hello.c文件,我们试着用makefile编译生成可执行程序而不是命令形式。
int main(){
printf("Hello World\n");
return 0;
}
makefile文件:
因为我们要生成可执行文件,所以目标肯定是hello,这个名字可以自定义,类似命令。而该目标的生成需要hello.c,所以hello.c就是依赖。然后我们根据目标和依赖写成命令即可,记住第二行有tab缩进。
hello:hello.c
gcc hello.c -o hello
然后我们直接执行make即可生成hello文件,接着执行它。
执行结果:
好了,以上就是我们利用一个规则写成的最简单的makefile文件,接下来下一篇文章是使用多个规则编译多个文件,以及一个规则能实现编译多个文件为何拆成多个规则编译多个文件。