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-2440.o
这样makefile再读取.config时发现CONFIG_MACH_MINI2440为y就会把mach-2440.c编译进来。
这个过程还算比较清楚,如果你自己在arch/arm/mach-s3c2440/写了一个针对你自己开发板c文件,yourboard.c那可以把该目录下的makefile中的
obj-$(CONFIG_MACH_MINI2440) += mach-2440.o改成
obj-$(CONFIG_MACH_MINI2440) += yourboard.o即可
这里也就是将mach-smdk2440.c复制成gml-2440.c同时将obj-$(CONFIG_MACH_MINI2440) += gml-2440.o
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-2440.o
这样makefile再读取.config时发现CONFIG_MACH_MINI2440为y就会把mach-2440.c编译进来。
这个过程还算比较清楚,如果你自己在arch/arm/mach-s3c2440/写了一个针对你自己开发板c文件,yourboard.c那可以把该目录下的makefile中的
obj-$(CONFIG_MACH_MINI2440) += mach-2440.o改成
obj-$(CONFIG_MACH_MINI2440) += yourboard.o即可
这里也就是将mach-smdk2440.c复制成gml-2440.c同时将obj-$(CONFIG_MACH_MINI2440) += gml-2440.o
然后修改时钟频率,注释掉smdk_machine_init()。
转自:http://hi.baidu.com/rqm3000/blog/item/59f0d397f80da27e54fb96a1.html