首页 > 代码库 > 内核makefile
内核makefile
内核版本 : linux-2.6.22.6
内核编译的简单说明(不完全表达)
1、
/work/jz2440/kernel/linux-2.6.22.6/arch/arm/configs# ls |grep s3c*
s3c2410_defconfig
#cd /work/jz2440/kernel/linux-2.6.22.6/
#make s3c2410_defconfig
/*
configuration written to .config
这一步主要做了什么?生成了几个.cmd文件和.c以及.config,
从而指导后面的编译选择。
试下make distclean{
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN include/config
CLEAN .config
}
*/
2、
make menuconfig
执行该命令时,从Kconfig里面读取菜单选项,形成可视化菜单。(驱动开发者改写的)
执行后,根据用户自己配置,改写 .config文件。
3、
make
主Makefile以及各级Makefile 引用.config 里面的宏定义选项,生成宏定义头文件( 如 /include/linux/autoconf.h :#define CONFIG_ARM 1 )并编译内核。
【各级子Makefile一般根据.config 里面的宏定义选项,选择是否编译以及是否编译为模块 。】
_________________________________
代码参考:
】假设我们在Kconfig里面增加了CONFIG_UNIX98_PTYS的菜单描述。】
linux-2.6.22.6/ Makefile:KCONFIG_CONFIG ?= .config
linux-2.6.22.6/.config:CONFIG_UNIX98_PTYS=y 【或 =m , 或CONFIG_UNIX98_PTYS is not set】
linux-2.6.22.6/drivers/char/Makefile : obj-$(CONFIG_UNIX98_PTYS) += pty.o
_________________________________
链接:Linux内核Makefile文件 http://blog.csdn.net/artechtor/article/details/1424619 【讲的比较全比较好】
内核makefile