0
我正在尝试构建一些我添加到Ubuntu源代码中的内核模块。经过多次失败的尝试编译后,我发现相同的错误继续发生在不同的地方。编译器无法找到位于文件夹中的包含目录中的一组标题。如何将include目录添加到内核源代码的makefile中?
E.X.
主要文件夹:驱动器/ SCST/
子文件夹:驱动器/ SCST/iSCSI的SCST/
包括文件夹:驱动器/ SCST /包括
我如何可以添加包括文件夹makefile?
这里是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做它作为一个不与内核源代码的工作,但我怎么能有一个像上面这样做呢?
在此先感谢。
我真的没有一个正确的方法,我只是想让这个东西编译正确。所以你说我应该将“include”文件的内容复制到需要它们的目录中? – ianc1215 2012-01-08 02:48:01
是的,因为驱动程序中使用的标头通常是特定于驱动程序的,并且标准约定是,如果仅在驱动程序中使用它,则将其添加到相同的目录中。如果在通用内核逻辑中使用它,它将在include/linux中进行,如果它的体系结构特定并在多个点中使用,它将包含在include/asm – 2012-01-08 02:48:58
因此,如果所有正在构建的SCST模块模块都需要这些头文件,我应该添加它们以包含/ linux的权利,因为他们不具体的拱?即使他们只用于这个项目? – ianc1215 2012-01-08 03:08:01