我有一些源代码,我想用于内核模块和用户空间程序。我只想在我的源代码树中维护该代码的一个副本。我正在考虑将共享源文件放在共享文件夹中(内核树之外),让 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 目录中,但这似乎是一个丑陋的解决方案,我想知道是否有更好的方法。