在windows下进行开发的时候,并不需要用到makefile,因为不管是VC还是VS都已经把这个步骤的事情给干好了
但是掌握makefile对于一个程序员来说是非常重要的,尤其是要在Linux下开发的时候,全部的编译流程都要靠自己来处理。
makefile的作用就是----自动化编译
1、一个简单的例子
首先进入之前创建的hello world的路径下,然后新建一个makefile文件,并进行编辑:vi makefile
test : test.o
gcc -o test test.o
test.o : test.c
gcc -c test.c
clean:
rm -rf test test.o
运行make命令,就会生成test.o和test两个文件,其中test是可执行文件,运行./test即可输出结果。
2、makefile是如何工作
当输入make命令时:
(1)make会在当前目录下想找名为makefile或Makefile的文件
(2)如果找到,会在此文件内找到第一个目标文件(target),如:test文件
(3)如果test文件不存在,或者是test所依赖的文件(test.o文件)修改时间比较新,则执行后面的命令来生成test文件
(4)如果test.o文件不存在,或者test.o文件的依赖文件(test.c)比较新,则根据规则生成最新的test.o
3、makefile的一些常用语法
(1)使用变量,eg:
OBJ = test
$(OBJ) : test.o
gcc -o test test.o
test.o : test.c
gcc -c test.c
clean:
rm -rf $(OBJ) test.o
(2)make自动推导,eg:
OBJ = test
$(OBJ) : test.o
clean:
rm -rf $(OBJ) test.o