modules.order
--------------------------------------------------
这个文件记录了模块在Makefile文件中出现的顺序。这个文件由modprobe使用以确定地解决匹配多个模块的别名问题。
modules.builtin
--------------------------------------------------
这个文件是编译进内核的所有模块的列表。这个被modprobe用来确保加载一些内建模块时候不失败。
环境变量
KCPPFLAGS
--------------------------------------------------
预处理时传送的附加选项.。预处理选项将在以下所有情况被使用,在kbuild确实预处理了包含编译C文件和汇编文件时。
--------------------------------------------------
汇编 ( 内置 和 模块 ) 的 附加选项 。
AFLAGS_MODULE
--------------------------------------------------
附加 模块的具体 方案 , 使用 $ (AS)的 。
AFLAGS_KERNEL
--------------------------------------------------
KCFLAGS
--------------------------------------------------
C编译器的附加选项 (for内建和模块).
CFLAGS_KERNEL
--------------------------------------------------
$(CC)的附加选项当编译代码为内建时.
CFLAGS_MODULE
--------------------------------------------------
$(CC)的附加模块特定选项.
LDFLAGS_MODULE
--------------------------------------------------
当链接模块的时候$(LD)的附加选项
KBUILD_VERBOSE
--------------------------------------------------
设置kbuild verbosity.可被分配同样的值使用"V=...".
查看 make帮助查找整个列表,设置 "V=..." 比 KBUILD_VERBOSE优先级高
KBUILD_EXTMOD
--------------------------------------------------
设置查看内核源码的目录当编译外部模块时
目录可以以下面几种方式指定:
1) 在命令行中使用"M=..."
2) 环境变量KBUILD_EXTMOD
3) 环境变量SUBDIRS
这些可能性列表的顺序以他们的优先级为准,使用 "M=..."通常会覆盖其他选项。
KBUILD_OUTPUT
--------------------------------------------------
编译内核时候指定输出目录,输出目录同样可以通过使用命令行 "O=...".
设置 "O=..." 比KBUILD_OUTPUT优先级高
KBUILD_DEBARCH
--------------------------------------------------
对于deb-pkg目标, 允许 overriding the normal heuristics deployed by
deb-pkg. 通常deb-pkg试图猜测正确的基于UTS_MACHINE变量的,或者基于一些架构的或者内核配置的架构。
KBUILD_DEBARCH变量假定为有效的 Debian架构
ARCH
--------------------------------------------------
设置要编译架构的ARCH
在多数情况下,架构的名字和在arch/ 目录下发现的目录名相同,但是一些架构比如 x86 and sparc有别名。
x86: 32位i386,64位 x86_64。
sparc: 32位sparc,64位 sparc64
CROSS_COMPILE
--------------------------------------------------
指定一个binutils文件名的可选固定部分,
CROSS_COMPILE可以是文件名的一部分或者全路径
CROSS_COMPILE 也在一些设置中使用for ccache
CF
--------------------------------------------------
sparse的附加选项
CF通常在命令行这样使用
make CF=-Wbitwise C=2
安装路径
--------------------------------------------------
INSTALL_PATH 指定了在哪里那种更新的内核和系统映射镜像。默认/boot,你也可以设置为其他值。
安装内核
--------------------------------------------------
当使用“make install"调用安装脚本
缺省的名字是 "installkernel".
以下参数将调用脚本:
$1 - 内核版本
$2 - 内核镜像文件
$3 - 内核映射文件
$4 - 缺省的安装路径 (空白的话使用root目录)
"make install" 的实现与具体架构相关,以上参数可能会有不同。
INSTALLKERNEL的作用是保证当采用交叉编译内核时,指定自定义安装。
MODLIB
--------------------------------------------------
指定在哪儿安装的模块
缺省值是:
$(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
该值可以被重写当缺省值被忽略的时候。
INSTALL_MOD_PATH
--------------------------------------------------
INSTALL_MOD_PATH给MODLIB指定一个前缀 for 模块目录重定位 required by build roots. 这个没有在makefile中定义但是参数可以在需要的时候传递给make。
INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, 如果定义了, 将导致某块在安装后被移除。will cause modules to be
stripped after they are installed. 如果 INSTALL_MOD_STRIP 是 '1',则默认的选项 --strip-debug会被使用。 否则,
INSTALL_MOD_STRIP 的值会被当做strip command的选项.
INSTALL_FW_PATH
--------------------------------------------------
INSTALL_FW_PATH 指定固件安装位置
默认值:
$(INSTALL_MOD_PATH)/lib/firmware
该值可以被重写当缺省值被忽略的时候。
INSTALL_HDR_PATH
--------------------------------------------------
INSTALL_HDR_PATH 指定安装用户空间头文件的位置当执行 "make headers_*".
默认值:
$(objtree)/usr
$(objtree)保存输出文件的目录
.
输出目录常常通过使用设置命令行 "O=..."
该值可以被重写当缺省值被忽略的时候。
KBUILD_MODPOST_WARN
--------------------------------------------------
KBUILD_MODPOST_WARN设置用来避免错误以防在最后模块连接阶段未定义符号。它把这类错误转成警告。
KBUILD_MODPOST_NOFINAL
--------------------------------------------------
KBUILD_MODPOST_NOFINAL设置跳过最后的模块连接, to skip the final link of modules.
这完全有用在加速测试编译方面.
KBUILD_EXTRA_SYMBOLS
--------------------------------------------------
为使用其他模块符号的模块准备。查看更多细节在modules.txt.
ALLSOURCE_ARCHS
--------------------------------------------------
对于tags/TAGS/cscope目标,你可以指定数据库中包含的不止一个架构,由空格分开。例如.:
$ make ALLSOURCE_ARCHS="x86 mips arm" tags
想获取所有可用架构,你可以指定所有,比如:
$ make ALLSOURCE_ARCHS=all tags
KBUILD_ENABLE_EXTRA_GCC_CHECKS
--------------------------------------------------
如果在命令行中使用 "W=1"打开,它将打开附加的
gcc -W... 选项 for 更多扩展的编译时检查。