内核完全注释1---makefile

发表于:2007-07-04来源:作者:点击数: 标签:
Makefile文件 Makefile文件相当于程序编译过程中的批处理文件,是工具程序make运行时的输入数据文件。make程序是使用Makefile数据文件和代码的最后修改时间(last-modification-time)来确定哪些文件需要进行更新,对与每一个需要更新的文件它会根据Makefile

Makefile文件

Makefile文件相当于程序编译过程中的批处理文件,是工具程序make运行时的输入数据文件。make程序是使用Makefile数据文件和代码的最后修改时间(last-modification-time)来确定哪些文件需要进行更新,对与每一个需要更新的文件它会根据Makefile中的信息发出相应的命令。

Makefile文件的作用:指示make程序最终使用独立编译连接成的tools/目录中的build执行程序将所有内核编译代码连接合并成一个可运行的内核映象文件image,具体是对boot/中的bootsect.s,setup.s使用8086汇编器进行编译,并连接成模块system,再用build工具将这3块组合成一个内核映象image

head,main,kernel,mm,fs.lib==>system+bootsect+setup(通过bulid工具)====>内核映象文件 image

当make重新编译一个程序时,被修改过的C程序,必须被重新编译.如果一个头文件被修改过了,那么包含或用到这个头文件的程序都将被重新编译,每次编译的结果都产生一个于源文件对应
的目标文件(object file).最终所有的头文件都被编译过了,那么所有目标文件,不管是刚编译的,或是以前编译好生成的,都必须被重新连接成一个新的可执行程序.

简单的Makefile的命名规则:
目标(target)...: 先决条件(prerequistes)
  命令(command)
  ....................
  ....................

目标通常是程序生成的一个文件名,目标也可以是所要采取活动的名字(如,clean),先决条件是一个文件,用作产生目标的输入,命令是make执行需要的操作!
*:需要再命令行前输入制表符!

原文转自:http://www.ltesting.net