学长推荐阅读的makefile详解目前还没看完,篇幅很长。了解基本规则后,参考简化版先动手写一个最简单的makefile吧!
先创建.c文件( 终端输入vim test1.c )也行
#include <stdio.h>
int main()
{
printf("Welcome to HZAU!\n");
return 0;
}
接着创建Makefile文件。这里犯了个错误:Makefile文件是没有后缀名的,之前我一直以为是.mk,然后一直找不到。。。
test: test1.o
gcc -o test test1.o
test1.o: test1.c
gcc -c test1.c
.PHONY : clean
clean:
rm -f *.o
makefile根据依赖,逐步解析生成目标文件。
生成test的前提是依赖test:test1.o
并且我们要指定gcc的执行 gcc -o test test1.o
由于需要生成test1.o文件, 需要用到文件test1.c
所以我们指定生成依赖关系,然后指定gcc执行过程。
当执行make时,make会根据他们之间的依赖关系生成目标文件。
在第一编写makefile的过程中我遇到下面的两个问题,其实这也是新手常范的错误
1:在“:”后面不能用空格。
2:gcc 前面用空格代替了Tab,导致makefile执行失败。