gpt4 book ai didi

freebsd - 执行 "Warning: Object directory not changed from original"命令时关于 "make"的问题

转载 作者:行者123 更新时间:2023-12-05 07:48:26 26 4
gpt4 key购买 nike

我最初在 FreeBSD mailing list 上发布了这个问题, 但遗憾的是无法收到任何回复。所以我在这里重新发布问题,并希望这种行为不会违反 SO 的任何行为准则。

我正在编写一个简单的 FreeBSD 内核模块。但是重启机器后(不知道是不是这个原因),发现“make”命令不能用了,一直提示如下字样:

# make
Warning: Object directory not changed from original /root/hello

即使我删除并上传了一个新文件,这个问题仍然存在。

引用这个post之后,我尝试“make obj”命令,然后“make”工作:

# make obj
/usr/obj/root/hello created for /root/hello
# make
@ -> /usr/src/sys
machine -> /usr/src/sys/amd64/include
x86 -> /usr/src/sys/x86/include
......

我想不通背后的根本原因:
(1) 为什么make 提示“Warning: Object directory not changed from original/root/hello”虽然我更新了文件?
(2) 为什么“make obj”可以省去“make”?

最佳答案

稍微阅读了 /usr/src/share/mk/bsd.obj.mk 之后,似乎 FreeBSD 不希望 ${.OBJDIR}是与 ${.CURDIR} 相同的目录,因为它似乎暗示 ${.OBJDIR} 的构造不正确(或者更确切地说,不是规范的)。

我不理解为什么会发生上述情况,但可以通过运行来解决

make clean

在下次运行 make 时强制进行干净的构建。

祝你好运, friend ,希望你在这个问题发布后的 2 年零 2 个月内自己解决了这个问题。

关于freebsd - 执行 "Warning: Object directory not changed from original"命令时关于 "make"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38634102/

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