我在使用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 。目录