当前位置: 技术问答>linux和unix
LINUX0.11如何编译成
来源: 互联网 发布时间:2016-04-15
本文导语: 最近在看LINUX0.11源玛,对其中的MAKEFILE文件的格式不懂 搞的我对其编译的过程的不了解,看代码就很费力,希望指教下 | sorry,上面说道: 这里,真正的规则,是指在make的时候会真正执行的...
最近在看LINUX0.11源玛,对其中的MAKEFILE文件的格式不懂
搞的我对其编译的过程的不了解,看代码就很费力,希望指教下
搞的我对其编译的过程的不了解,看代码就很费力,希望指教下
|
sorry,上面说道:
这里,真正的规则,是指在make的时候会真正执行的规则
就规则本身而言,这是make中的一条伪规则,因为不会生成一个叫做all的东西
这里,真正的规则,是指在make的时候会真正执行的规则
就规则本身而言,这是make中的一条伪规则,因为不会生成一个叫做all的东西
|
|
Makefile中主要的就是规则,编译基本上就是按照规则进行的。
规则的格式:参见上面的manual。一般是:
targets : prerequisites
command
...
即
规则目标targets 冒号 规则目标所依赖的文件或其他目标列表prerequisites
以及 各条用来实现规则目标的命令command
(大多数情况下,列表中的文件会在各个命令中用到)
make将首先保证规则所依赖的文件或其他目标列表按顺序一一就绪,然后按照命令进行编译
可以理解为,make对规则所依赖的文件或其他目标列表会进行一次深度优先遍历,准备好
规则所需的一切东西
看Makefile,
从第一行,开始看起,关于变量定义的先忽略好了
(所谓变量定义,就是 XXX = XXX之类的语句)
看到第一处觉得奇怪的地方,就是
.c.s:
$(CC) $(CFLAGS)
-nostdinc -Iinclude -S -o $*.s $
规则的格式:参见上面的manual。一般是:
targets : prerequisites
command
...
即
规则目标targets 冒号 规则目标所依赖的文件或其他目标列表prerequisites
以及 各条用来实现规则目标的命令command
(大多数情况下,列表中的文件会在各个命令中用到)
make将首先保证规则所依赖的文件或其他目标列表按顺序一一就绪,然后按照命令进行编译
可以理解为,make对规则所依赖的文件或其他目标列表会进行一次深度优先遍历,准备好
规则所需的一切东西
看Makefile,
从第一行,开始看起,关于变量定义的先忽略好了
(所谓变量定义,就是 XXX = XXX之类的语句)
看到第一处觉得奇怪的地方,就是
.c.s:
$(CC) $(CFLAGS)
-nostdinc -Iinclude -S -o $*.s $