首页 > 代码库 > 内核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.6Makefile: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