gpt4 book ai didi

linux - 在 Linux 内核 Makefile 中构建变量

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

我目前正在尝试了解 Linux 内核的构建过程。在查看 Makefile 时,我在表单中发现了几个规则

scripts_basic:
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount

它们都递归调用其他 make 进程,并将目录传递给进程。同时,似乎有一个变量被传递,指示如何处理子目录($(build) 部分。

查看 make 过程,据我所知,这似乎总是 obj,到目前为止,在 make 过程中我找不到该变量的任何其他值。另外,我似乎找不到设置此变量的任何地方。

那么这个变量到底是做什么用的以及它是如何使用的(例如,在哪里设置和处理)。

最佳答案

不完全是。相关位在 scripts/Kbuild.include 中,它说

build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

这意味着如果 $(KBUILD_SRC) 不为空,则 scripts/Makefile.build 的路径将作为绝对路径给出(或至少使用可以从工作目录中找到的路径)通过将路径添加到内核源代码树的顶部。据我所知,这是为了让子 make 都使用相同的 Makefile,避免多次使用相同的 make 代码。

关于linux - 在 Linux 内核 Makefile 中构建变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27193365/

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