gpt4 book ai didi

linux - Kbuild - 包括外部目录中的源文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:06 25 4
gpt4 key购买 nike

我有一些源代码,我想将其用于内核模块和用户空间程序。我只想在我的源代码树中维护该代码的单个副本。我正在考虑将共享源文件放入共享文件夹(内核树之外),让 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com