使用Kbuild从不同的内核目录中有选择地构建模块

时间:2016-03-31 01:57:04

标签: c makefile kbuild

我在使用KBUILD选择性地从其他目录构建模块时遇到了麻烦。 我有2个内核目录 内核/内核-XX

让驱动程序目录结构如下

----kernel
|   |
|   |-----drivers
|       |
|       |-----boom
|           |
|           |----virtual_driver.c
|           |----a.c
|           |----b.c
|           |----c.c
|
|---kernel-XXX
    |
    |-----drivers
        |
        |-----boom
            |
            |---virtual_driver_XXX.c

虚拟驱动程序需要a.c,b.c,c.c进行编译。 我在kernel-XXX中有一个更新版本的virtual_driver_XXX.c,它还依赖于a.c,b.c,c.c

如何修改kernel / drivers / boom目录中的makefile以从kernel-XXX目录中获取virtual_directory_XXX.o。 这里的方法应该是什么。

kernel / drivers / boom目录中的当前makefile如下所示。

生成文件

obj-y += t.o

t-y   += a.o

t-y   += b.o

t-y   += c.o

t-y  += virtual_driver.o

obj-y += <...>.o

我想要像

这样的东西

生成文件

obj-y += t.o

t-y   += a.o

t-y   += b.o

t-y   += c.o

if (a give condition)

t-y  += virtual_driver_XXX.o

else

t-y  += virtual_driver.o

obj-y += <...>.o

问题是我在kernel-XXX / drivers / boom中没有Makefile因为我不知道如何使用内核/驱动程序/ boom中的ao / bo / co来构建virtual_driver_XXX 。目录

0 个答案:

没有答案
相关问题