kernel:如何为内核构建添加新的源文件?

zer*_*lus 6 kernel

对于一个学术项目,我希望将一个源文件(myfile.c)添加到kernel/目录,与exit.c和相同的目录fork.c.构建系统似乎没有自动获取新文件,因为我正在将"未定义的引用"链接错误命中给定义的函数myfile.c.我怎么能把这个文件合并?

sar*_*old 8

您需要将相应的对象文件添加到kernel/Makefile.如果您的代码有配置变量,那么您将使用:

obj-$(CONFIG_ZERO_STIMULUS_FEATURE) += zerostimulus.o
Run Code Online (Sandbox Code Playgroud)

如果您在没有配置变量的情况下构建代码,那么您只需将其添加到obj-y变量中:

obj-y += zerostimulus.o
Run Code Online (Sandbox Code Playgroud)

配置变量扩展为y,mn,取决于功能是内置的,构建为模块还是关闭.然后obj-y,obj-m中,变量建立.