当前位置: 技术问答>linux和unix
makefile 中产生的.o文件生成步骤 去掉貌似无关紧要吧
来源: 互联网 发布时间:2016-12-16
本文导语: all :hello hello:hello.c gcc -lpthread -o hello hello.c clean: rm hello.c 像这样直接 从.c...
all :hello
hello:hello.c
gcc -lpthread -o hello hello.c
clean:
rm hello.c
像这样直接 从.c生成 可执行文件就行了么。为什么。。百度出来的makefile 编写规范都要先编译成hello.o文件,
再从hello.o文件生成 hello。。
还有结尾那个clean 貌似要不要看不出什么区别。。。
这两种规范 有什么深意,,求解
|
编译生成.o文件,方便你下次的编译
你下次编译过程中,如果发现之前没修改过的源文件,它就不会重新编译一次
而直接用.c文件生成应用程序或库,每次你修改后要重新编译的时候,就会把时间花费在上面
结尾的clean可以不要,你也可以改名字
譬如你改成
shit:
rm hello.c
你在shell输入
make shit
也是一样的原理
其实那个可以认为是函数(宏)的进口
而make后面的参数就是调用哪个函数(宏)
你下次编译过程中,如果发现之前没修改过的源文件,它就不会重新编译一次
而直接用.c文件生成应用程序或库,每次你修改后要重新编译的时候,就会把时间花费在上面
结尾的clean可以不要,你也可以改名字
譬如你改成
shit:
rm hello.c
你在shell输入
make shit
也是一样的原理
其实那个可以认为是函数(宏)的进口
而make后面的参数就是调用哪个函数(宏)
|
你这里只有一个.c文件,你如果有多个.c文件的话,如果只修改其中一个.c文件,那么所有的.c文件都要重新编译
|
makefile的增量编译就是通过.o文件来判断的,要不然make哪知道你哪些文件修改过