我偶然发现了site关于Linux下USB视频采集卡的问题,我试图编译找到的here代码。我读过有关makefile的内容,但这个让我感到困惑,因为它太短了:
usbtv-y := usbtv-core.o \
usbtv-video.o
obj-$(CONFIG_VIDEO_USBTV) += usbtv.o
我想现在写自己的makefile。我现在想知道的是,Kconfig
文件的用途以及如何使用它。我很难找到关于如何使用它的更多信息,只是关于KDE的一些东西,这不是我想要的。有人可以开导我吗?我认为这很重要,因为在描述中(在我链接的第一个网站上)它说如何使其工作
Linux内核驱动程序,启用CONFIG_VIDEO_USBTV
这是Kconfig文件:
config VIDEO_USBTV
tristate "USBTV007 video capture support"
depends on VIDEO_V4L2
select VIDEOBUF2_VMALLOC
---help---
This is a video4linux2 driver for USBTV007 based video capture devices.
To compile this driver as a module, choose M here: the
module will be called usbtv
此外,Kconfig文件中含有"在这里选择M"?哪里?怎么样?当α
答案 0 :(得分:3)
此Makefile未完成。它包含在其他makefile中:
这个makefile [1]包括这个[2],其中包括这个[3],其中包括这个[4],其中包括这个[5],其中包括你的例子。
与Makefile一样,此Kconfig文件也不完整。它包含在其他Kconfig中:这个kconfig [6]包括......其中包括......等...包括你的例子。
根据文档,这段kconfig定义了一个帮助文本:
- 帮助文字:" help"或" ---帮助---" 这定义了帮助文本。帮助文本的结尾由 缩进级别,这意味着它在第一行结束 比帮助文本的第一行更小的缩进。 " ---帮助---"和"帮助"没有不同的行为," ---帮助---"是 用于帮助在视觉上将配置逻辑与帮助内部分开 该文件可以帮助开发人员。
所以," M"是程序的一个选项,不是kconfig的功能。它与Kconfig无关。
你会在这里找到kconfig文档[7]和makefile文档[8]。
[1] https://github.com/torvalds/linux/blob/master/Makefile
[2] https://github.com/torvalds/linux/blob/master/drivers/Makefile
[3] https://github.com/torvalds/linux/blob/master/drivers/media/Makefile
[4] https://github.com/torvalds/linux/blob/master/drivers/media/usb/Makefile
[5] https://github.com/torvalds/linux/blob/master/drivers/media/usb/Makefile
[6] https://github.com/torvalds/linux/blob/master/Kconfig
[7] https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
[8] https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt