0

我正在尝试构建一些添加到我的 Ubuntu 源代码中的内核模块。在多次尝试编译失败后,我发现同样的错误在不同的地方不断发生。编译器无法找到位于文件夹的包含目录中的一组头文件。

前任

主文件夹:驱动程序/scst/

子文件夹:drivers/scst/iscsi-scst/

包含文件夹:drivers/scst/include

如何将该包含文件夹添加到makefile?

这是生成文件;

ccflags-y += -Wno-unused-parameter

scst-y        += scst_main.o
scst-y        += scst_pres.o
scst-y        += scst_targ.o
scst-y        += scst_lib.o
scst-y        += scst_sysfs.o
scst-y        += scst_mem.o
scst-y        += scst_tg.o
scst-y        += scst_debug.o

obj-$(CONFIG_SCST)   += scst.o dev_handlers/ iscsi-scst/

我大约 50% 确定如何使用“普通”makefile 来做到这一点,就像在一个不适用于内核源代码的文件中一样,但是我如何使用上面的一个来做到这一点?

提前致谢。

4

1 回答 1

0

驱动程序代码的约定是将特定驱动程序的包含文件插入到与驱动程序相同的目录中,并包含为#include "header.h". 但是,如果您想按照自己的方式进行操作,请使用-Igcc 选项,因此它可能看起来像-Idrivers/scst/include或类似的东西,应该将其添加到 ccflags。注意:此路径可能会根据您正在编辑的 Makefile 所在的位置而改变。

于 2012-01-08T02:37:22.327 回答