kbuild文件

kconfig 菜单配置项
eg:
config ARCH_IXP23XX(名字省略了config)
bool “IXP23XX-based”
depends on MMU
select CPU_XSC3
help
Support for Intel’s IXP23XX (XScale) family of processors
config关键字表示新定义一个菜单项,后面跟着菜单项的名字
可以用命令make menuconfig时选择
kconfig的调用:source
linux内核makefile
1:顶层makefile
ARCH:处理器默认为X86
CROSS_COMPILE:交叉编译器默认为X86平台上的交叉编译器
eg:arm arm-linux-
在顶层makefile中写死
ARCH = arm
CROSS_COMPILE = arm-linux-
2:kbuild makefile
a:单文件目标
obj-y编译到内核;obj-m编译到模块
eg:直接obj-y = foo.o由foo.c或者foo.s文件编译得到foo.o并连接进内核
间接obj- ( C O N F I G I S D N ) + = i s d n . o C O N F I G I S D N 定 义 在 d e f c o n f i d b : 多 文 件 目 标 o b j − (CONFIG_ISDN)+=isdn.o CONFIG_ISDN定义在defconfid b:多文件目标 obj- (CONFIGISDN)+=isdn.oCONFIGISDNdefconfidbobj(CONFIG_ISDN)+=isdn.o
isdn-objs:=isdn_net_lib.o isdn_vllo.o isdn_common.o
c:嵌套迭代
obj-$(CONFIG_EXT2_FS)+=ext2/
CONFIG_EXT2_FS为y或m时递归到ext2/下,ext2/目录下的那些文件被编译取决于该目录下的makefile文件

你可能感兴趣的:(kbuild文件)