- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一些源代码,我想将其用于内核模块和用户空间程序。我只想在我的源代码树中维护该代码的单个副本。我正在考虑将共享源文件放入共享文件夹(内核树之外),让 kbuild 从外部目录构建这些文件,并在模块目录内生成 .o 文件。有没有好方法使用 kbuild 包含来自外部目录的源文件?
我的目标目录看起来像这样:
+ linux
| + drivers
| + foo
| + Makefile
| + foomain.c
| + foomain.o
| + shared.o
+ shared
| + shared.c
+ bar
+ Makefile
+ barmain.c
+ barmain.o
+ shared.o
虽然可以在构建过程中将shared.c复制到foo目录中,但这似乎是一个丑陋的解决方案,我想知道是否有更好的方法。
最佳答案
我认为这是可能的。
在shared目录下创建Makefile,可以支持构建内核模块foo的shared.o和用户空间应用程序bar的shared.o。
这意味着在Makefile中创建两个不同的构建目标,这两个目标可以具有相同的名称,但需要使用诸如KERNEL_BUILD之类的宏来区分它们。
关于linux - Kbuild - 包括外部目录中的源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205693/
我是 Linux 内核的新手。 我试图理解这个想法,高级什么是 kbuild . 当我编译内核时,我调用 make,它在 Linux 机器上是 GNU make。 那么什么是 KBuild?它是一组通
我正在为设备驱动程序构建树外内核模块。总的来说,一切进展顺利,但我有几个关于使用 kbuild 和构建系统的问题: 我找到了这个优秀的帖子:Is it possible to set CFLAGS t
我有一些源代码,我想将其用于内核模块和用户空间程序。我只想在我的源代码树中维护该代码的单个副本。我正在考虑将共享源文件放入共享文件夹(内核树之外),让 kbuild 从外部目录构建这些文件,并在模块目
当我在开发 linux 驱动程序时,我已经阅读了有关如何通过此 document 编写 linux kbuild makefile 的信息 我知道 kbuild 系统使用 makefile 变量,例如
我熟悉 make 和 kbuild,以及构建系统的工作原理。但是我很难理解对象目标是如何构建的!? 例如,在 Kbuild 中,如果你想在一个目录中生成一个目标文件,你将有一个包含如下内容的 make
假设有一个带有一些函数 func_a 的源文件 a.c。我想根据某些功能定义调用 func_a ,并且还希望根据理想情况下相同的功能定义将 a.c 包含在模块中。 所以在我总是存在的模块源中(比如ma
让 generate_testapi.py成为我的 Linux 内核模块源代码树中的一个脚本,它摄取 mymod_test.h并生成一个面向用户空间的接口(interface)源文件(ioctl,de
我正在寻找一种将 Kconfig 文件中的选项转换为 int 的方法。因此,例如,我想要: config BUFSIZE int choice prompt "choose a buf
我有一个内核模块(通常使用 CONFIG_MYMODULE=m 编译),其设置如下: mymodule/Makefile ../foo/Makefile ../foo/component1/Makef
对于 bool 配置,我使用的是选择。有没有类似的字符串? 最后,我想要一些类似的东西: config MY_VAR_STR string config MY_VAR_BOOL bool defaul
我是一名优秀的程序员,十分优秀!