会不会写makefile,从侧面说明了一个人是否具备完成大型工程的能力。
一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的 规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂 的功能操作。(虽然目前还没有接触过大型项目,但其实这段话是可以理解的。)
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编 译,极大的提高了软件开发的效率。
make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命 令
make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
好了好了,不CV了
起初存在这些文件,下面的makefile的作用是自动化构建项目。 main.c test.c test.h 构建出test可执行程序。 yzl.c 构建出yzl可执行程序
1 test: test.o main.o
2 gcc test.o main.o -o test
3 yzl: yzl.o
4 gcc yzl.o -o yzl
5 test.o: test.c
6 gcc -c test.c -o test.o
7 main.o: main.s
8 gcc -c main.s -o main.o
9 main.s: main.i
10 gcc -S main.i -o main.s
11 main.i: main.c
12 gcc -E main.c -o main.i
13 yzl.o: yzl.c
14 gcc -c yzl.c -o yzl.o
15