【问题标题】:Kbuild - including source file from external directoryKbuild - 包括来自外部目录的源文件
【发布时间】:2013-02-18 18:50:42
【问题描述】:

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

【问题讨论】:

    标签: linux makefile kbuild


    【解决方案1】:

    我认为这是可能的。

    在shared目录下创建一个Makefile,可以支持构建内核模块foo的shared.o和用户空间应用bar的shared.o。

    即在 Makefile 中创建两个不同的构建目标,两个目标可以同名,但需要使用 KERNEL_BUILD 等宏来区分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2012-02-08
      • 2012-01-27
      相关资源
      最近更新 更多