gpt4 book ai didi

linux - 使内核模块 makefile 识别源的绝对路径?

转载 作者:太空宇宙 更新时间:2023-11-04 12:24:08 24 4
gpt4 key购买 nike

我正在编写内核模块来对项目进行单元测试。由于我需要在项目中包含源文件,我希望对这些文件使用绝对路径。这将使我的 Makefile 变成这样

foo-objs := dir1/src1.o dir1/src2.o
foo-objs += dir2/src3.o src4.o
foo-objs := $(addprefix $(PROJECT_ROOT),$(foo-objs))
...
all:
$(MAKE) -C /lib/modules/"$(shell uname -r)"/build M=$(PWD)

$(PROJECT_ROOT) 是一个环境变量,记录项目根目录的绝对路径

通过这种方式,我相信可以更清晰、更容易地维护许多单元测试。

但是当我执行 make 时,内核 Makefile 尝试编译 $(PWD)/$(PROJECT_ROOT)/src1.o,这当然不存在。它似乎将所有目标文件视为相对路径

因此,我想知道是否有办法为模块制作内核Makefile以识别绝对路径,非常感谢。

最佳答案

我不知道如何让内核的 Makefile 识别绝对路径。

在我的项目中,我已将绝对路径转换为相对路径。这种转换使用 CMake 很简单,但我不确定如何在普通 Make 中执行此操作。您可以尝试为此目的使用 shell,请参阅 this question .

关于linux - 使内核模块 makefile 识别源的绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45204181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com