Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1498617
  • 博文数量: 204
  • 博客积分: 4013
  • 博客等级: 中校
  • 技术积分: 4030
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-29 06:34
文章分类

全部博文(204)

文章存档

2012年(204)

分类: LINUX

2012-06-04 18:39:35

      make menuconfig ,arch/arm/mach-s3c2440/Kconfig,arch/arm/mach-s3c2440/Makefile,.config,这四者的关系
       
      Kconfig就是menuconfig中的内容来源,在menuconfig中选中了某项也就会在.config中体现出来,而Makefile中则根据选项来决定某项
    比如我现在要将arch/arm/mach-s3c2440/mach-mini2440.c编译进内核,步骤如下:
首先要做Kconfig中增加其选项
  config MACH_MINI2440
      bool "MINI2440 development board"
      .
      .
然后make menuconfig在
System Type --->
  S3C2440 Machines --->
    [*] MINI2440 development board
如果选中了此项,在顶层的.config文件中就会有
                CONFIG_MACH_MINI2440 = y
再在Makefile中添加
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
这样Makefile在读取.config时发现CONFIG_MACH_MINI2440为y就会把mach-2440.c编译进来

     这个过程还算比较清楚,如果你自己在arch/arm/mach-s3c2440/写了一个针对你自己开发板的c文件,myboard.c,那可以把该目录下的Makefile中的
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o改成
obj-$(CONFIG_MACH_MINI2440) += myboard.o即可


阅读(4885) | 评论(0) | 转发(4) |
给主人留下些什么吧!~~