还是看不懂实际的makefile文件,还有那些make命令也不知道这么用的含义是什么。
今天复习下国嵌的视频。之后再学习下内核配置、编译和安装。
今天主要完成这两个学习任务。
2.6的内核大概2w多个源文件(包括头文件),这么多文件如果手工用gcc一个个去编译,不现实。
先来看一个例子:
最终要得到hello
问题1:hello,main.o等,最前面的这些必须这样命名吗,我写成 1、2、3行吗?
写成1、2、3不行,目标的名字只是个名称,生成的文件名还是gcc命令指定的。但是目标名必须得和gcc输出地文件名一致。这样hello目标才能根据后面依赖的文件名找到对应的目标。
问题2:.PHONY:什么东西?
问题3:make clean这个命令?make+目标名就是只执行make里某个目标下的动作吗?
看下Makefile里的术语:
怎么知道哪个是最终目标?
第一个规则里的目标就是最终目标。
输入make指令,默认找makefile或大写的Makefile
加上@后,输入make命令后,Makefile里的命令就不显示了。
这只是最初级的makefile,详细的可以看陈皓写的makefile详解。