编译目录

来源:互联网 发布:雨花台区网络问政 编辑:程序博客网 时间:2024/05/05 23:15
应用实例:在内核中新增驱动驱动代码目录和子目录。


在drivers目录下为ARM体系结构新增用于 test driver 的属性目录

|--test
|-- cpu
| -- cpu.c
|-- test.c
|-- test_client.c
|-- test_ioctl.c
|-- test_proc.c
|-- test_queue.c
收线为新增的目录创建Makefile 和Kconfig文件,而新增目录的父目录中的Kconfig和Makefile也需要
修改,以便新增的Kconfig 和Makefile能被引用。
在信新增的test目录下,应包含如下的Kconfig文件
#
# TEST driver configuration
#
menu "TEST Driver"
comment "TEST Driver"

config CONFIG_TEST
bool "TEST support"

config CONFIG_TEST_USR
tristate "TEST user-space interface"
depends on CONFIG_TEST
endmenu
由于test driver 对于内核来说是新功能,所以要创建一个菜单 TEST Driver 然后显示 "TEST support"
等待用户的选择;接下来是判断用户是否选择了 TEST Driver ,如果做出了选择。则进一步显示子功能。
为了使Kconfig起作用,修改 arch/arm/Kconfig文件,增加
source "drciers/test/Kconfig"
在新增的目录下,包含如下的Makefile文件
# drivers/test/Makefile
#
#Makefile for the TEST
#
obj-$(CONF iG_TEST) += test.o test_queue.o test_client.o
obj-$(CONF iG_TEST_USER) += test_ioctl.o
obj-$(CONF iG_PROC_FS) += test_proc.o
obj-$(CONF iG_TEST_CPU) += cpu/
该脚本根据配置变量的取值,构建obj-*文件列表。由于test目录中包含一个子目录cpu,因此当CONFIG_TEST_CPU
=y时,需要将cpu加入列表。
test目录中的cpu子目录也需要包含如下的Makefile文件
#drivers/test/cpu/Makefile
#
#Makefile for the TEST CPU
obj-$(CONFIG_TEST_CPU) +=cpu.o
为了使得编译命令能够作用到整个test目录,test目录中的父目录也需要增加以下的脚本。
obj-$(CONFIG_TEST) += test/
使得用户在进行内核编译时能进入test目录。
|--test
|-- cpu
| -- cpu.c
| -- Makef ile
|-- test.c
|-- test_client.c
|-- test_ioctl.c
|-- test_proc.c
|-- test_queue.c
|-- Makef ile
|-- Kconf ig

线学习到这里。爱你,YZ
0 0
原创粉丝点击