sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/kbuild/kbuildmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/zh_TW/kbuild/kbuildmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/it_IT/kbuild/kbuildmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/ja_JP/kbuild/kbuildmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/ko_KR/kbuild/kbuildmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/sp_SP/kbuild/kbuildmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhN/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/kbuild/kbuild.rsthKubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(hDocumentation/kbuild/kbuild.rsth]h)}(hhh]hDocumentation/kbuild/kbuild.rst}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h Translatorh]h Translator}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhKubh)}(h+慕冬亮 Dongliang Mu h]h)}(h*慕冬亮 Dongliang Mu h](h慕冬亮 Dongliang Mu <}(hjhhhNhNubh reference)}(hdzm91@hust.edu.cnh]hdzm91@hust.edu.cn}(hj)hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:dzm91@hust.edu.cnuh1j'hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(hKbuildh]hKbuild}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjWhhhhhK ubjV)}(hhh](j[)}(h 输出文件h]h 输出文件}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjjhhhhhKubjV)}(hhh](j[)}(h modules.orderh]h modules.order}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj{hhhhhKubh)}(h该文件记录模块在 Makefile 中出现的顺序。modprobe 使用该文件来确定性 解析匹配多个模块的别名。h]h该文件记录模块在 Makefile 中出现的顺序。modprobe 使用该文件来确定性 解析匹配多个模块的别名。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{hhubeh}(h] modules-orderah ]h"] modules.orderah$]h&]uh1jUhjjhhhhhKubjV)}(hhh](j[)}(hmodules.builtinh]hmodules.builtin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h|该文件列出了所有内置到内核中的模块。modprobe 使用该文件来避免尝试加载 内置模块时出错。h]h|该文件列出了所有内置到内核中的模块。modprobe 使用该文件来避免尝试加载 内置模块时出错。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]modules-builtinah ]h"]modules.builtinah$]h&]uh1jUhjjhhhhhKubjV)}(hhh](j[)}(hmodules.builtin.modinfoh]hmodules.builtin.modinfo}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h~该文件包含所有内置模块的 modinfo。与单独模块的 modinfo 不同,所有字段 都带有模块名称前缀。h]h~该文件包含所有内置模块的 modinfo。与单独模块的 modinfo 不同,所有字段 都带有模块名称前缀。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]modules-builtin-modinfoah ]h"]modules.builtin.modinfoah$]h&]uh1jUhjjhhhhhKubjV)}(hhh](j[)}(hmodules.builtin.rangesh]hmodules.builtin.ranges}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhK ubh)}(h该文件包含所有内核内置模块的地址偏移范围(每个 ELF 节)。结合 System.map 文件,它可以用来将模块名称与符号关联起来。h]h该文件包含所有内核内置模块的地址偏移范围(每个 ELF 节)。结合 System.map 文件,它可以用来将模块名称与符号关联起来。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjhhubeh}(h]modules-builtin-rangesah ]h"]modules.builtin.rangesah$]h&]uh1jUhjjhhhhhK ubeh}(h]id1ah ]h"] 输出文件ah$]h&]uh1jUhjWhhhhhKubjV)}(hhh](j[)}(h 环境变量h]h 环境变量}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhK%ubjV)}(hhh](j[)}(h KCPPFLAGSh]h KCPPFLAGS}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj0hhhhhK(ubh)}(h在预处理时传递的额外选项。kbuild 进行所有预处理(包括构建 C 文件和汇编文件) 时,都会使用这些预处理选项。h]h在预处理时传递的额外选项。kbuild 进行所有预处理(包括构建 C 文件和汇编文件) 时,都会使用这些预处理选项。}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hj0hhubeh}(h] kcppflagsah ]h"] kcppflagsah$]h&]uh1jUhjhhhhhK(ubjV)}(hhh](j[)}(hKAFLAGSh]hKAFLAGS}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjWhhhhhK-ubh)}(hN传递给汇编器的额外选项(适用于内置模块和外部模块)。h]hN传递给汇编器的额外选项(适用于内置模块和外部模块)。}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjWhhubeh}(h]kaflagsah ]h"]kaflagsah$]h&]uh1jUhjhhhhhK-ubjV)}(hhh](j[)}(h AFLAGS_MODULEh]h AFLAGS_MODULE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj~hhhhhK1ubh)}(h$外部模块的额外汇编选项。h]h$外部模块的额外汇编选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hj~hhubeh}(h] aflags-moduleah ]h"] aflags_moduleah$]h&]uh1jUhjhhhhhK1ubjV)}(hhh](j[)}(h AFLAGS_KERNELh]h AFLAGS_KERNEL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhK5ubh)}(h$内置模块的额外汇编选项。h]h$内置模块的额外汇编选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjhhubeh}(h] aflags-kernelah ]h"] aflags_kernelah$]h&]uh1jUhjhhhhhK5ubjV)}(hhh](j[)}(hKCFLAGSh]hKCFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhK9ubh)}(hQ传递给 C 编译器的额外选项(适用于内置模块和外部模块)。h]hQ传递给 C 编译器的额外选项(适用于内置模块和外部模块)。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjhhubeh}(h]kcflagsah ]h"]kcflagsah$]h&]uh1jUhjhhhhhK9ubjV)}(hhh](j[)}(h KRUSTFLAGSh]h KRUSTFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhK=ubh)}(hT传递给 Rust 编译器的额外选项(适用于内置模块和外部模块)。h]hT传递给 Rust 编译器的额外选项(适用于内置模块和外部模块)。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjhhubeh}(h] krustflagsah ]h"] krustflagsah$]h&]uh1jUhjhhhhhK=ubjV)}(hhh](j[)}(h CFLAGS_KERNELh]h CFLAGS_KERNEL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKAubh)}(h=在编译内置代码时,传递给 $(CC) 的额外选项。h]h=在编译内置代码时,传递给 $(CC) 的额外选项。}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjhhubeh}(h] cflags-kernelah ]h"] cflags_kernelah$]h&]uh1jUhjhhhhhKAubjV)}(hhh](j[)}(h CFLAGS_MODULEh]h CFLAGS_MODULE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjAhhhhhKEubh)}(hF编译外部模块时,传递给 $(CC) 的额外模块特定选项。h]hF编译外部模块时,传递给 $(CC) 的额外模块特定选项。}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjAhhubeh}(h] cflags-moduleah ]h"] cflags_moduleah$]h&]uh1jUhjhhhhhKEubjV)}(hhh](j[)}(hRUSTFLAGS_KERNELh]hRUSTFLAGS_KERNEL}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhhKIubh)}(h@在编译内置代码时,传递给 $(RUSTC) 的额外选项。h]h@在编译内置代码时,传递给 $(RUSTC) 的额外选项。}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjhhhubeh}(h]rustflags-kernelah ]h"]rustflags_kernelah$]h&]uh1jUhjhhhhhKIubjV)}(hhh](j[)}(hRUSTFLAGS_MODULEh]hRUSTFLAGS_MODULE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKMubh)}(h.用于 $(RUSTC) 的额外模块特定选项。h]h.用于 $(RUSTC) 的额外模块特定选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjhhubeh}(h]rustflags-moduleah ]h"]rustflags_moduleah$]h&]uh1jUhjhhhhhKMubjV)}(hhh](j[)}(hLDFLAGS_MODULEh]hLDFLAGS_MODULE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKQubh)}(h.用于 $(LD) 链接模块时的额外选项。h]h.用于 $(LD) 链接模块时的额外选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjhhubeh}(h]ldflags-moduleah ]h"]ldflags_moduleah$]h&]uh1jUhjhhhhhKQubjV)}(hhh](j[)}(h HOSTCFLAGSh]h HOSTCFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKUubh)}(h>在构建主机程序时传递给 $(HOSTCC) 的额外标志。h]h>在构建主机程序时传递给 $(HOSTCC) 的额外标志。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjhhubeh}(h] hostcflagsah ]h"] hostcflagsah$]h&]uh1jUhjhhhhhKUubjV)}(hhh](j[)}(h HOSTCXXFLAGSh]h HOSTCXXFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKYubh)}(h?在构建主机程序时传递给 $(HOSTCXX) 的额外标志。h]h?在构建主机程序时传递给 $(HOSTCXX) 的额外标志。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjhhubeh}(h] hostcxxflagsah ]h"] hostcxxflagsah$]h&]uh1jUhjhhhhhKYubjV)}(hhh](j[)}(h HOSTRUSTFLAGSh]h HOSTRUSTFLAGS}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj+hhhhhK]ubh)}(hA在构建主机程序时传递给 $(HOSTRUSTC) 的额外标志。h]hA在构建主机程序时传递给 $(HOSTRUSTC) 的额外标志。}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hj+hhubeh}(h] hostrustflagsah ]h"] hostrustflagsah$]h&]uh1jUhjhhhhhK]ubjV)}(hhh](j[)}(h HOSTLDFLAGSh]h HOSTLDFLAGS}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjRhhhhhKaubh)}(h-链接主机程序时传递的额外选项。h]h-链接主机程序时传递的额外选项。}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjRhhubeh}(h] hostldflagsah ]h"] hostldflagsah$]h&]uh1jUhjhhhhhKaubjV)}(hhh](j[)}(h HOSTLDLIBSh]h HOSTLDLIBS}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjyhhhhhKeubh)}(h-在构建主机程序时链接的额外库。h]h-在构建主机程序时链接的额外库。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjyhhubhtarget)}(h.. _zh_cn_userkbuildflags:h]h}(h]h ]h"]h$]h&]refidzh-cn-userkbuildflagsuh1jhKshjyhhhhubeh}(h] hostldlibsah ]h"] hostldlibsah$]h&]uh1jUhjhhhhhKeubjV)}(hhh](j[)}(h USERCFLAGSh]h USERCFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKkubh)}(hC用于 $(CC) 编译用户程序(userprogs)时的额外选项。h]hC用于 $(CC) 编译用户程序(userprogs)时的额外选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjhhubeh}(h]( usercflagsjeh ]h"]( usercflagszh_cn_userkbuildflagseh$]h&]uh1jUhjhhhhhKkexpect_referenced_by_name}jjsexpect_referenced_by_id}jjsubjV)}(hhh](j[)}(h USERLDFLAGSh]h USERLDFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKoubh)}(h用于 $(LD) 链接用户程序时的额外选项。用户程序(userprogs)是使用 CC 链接的, 因此 $(USERLDFLAGS) 应该根据需要包含 "-Wl," 前缀。h]h用于 $(LD) 链接用户程序时的额外选项。用户程序(userprogs)是使用 CC 链接的, 因此 $(USERLDFLAGS) 应该根据需要包含 “-Wl,” 前缀。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjhhubeh}(h] userldflagsah ]h"] userldflagsah$]h&]uh1jUhjhhhhhKoubjV)}(hhh](j[)}(hKBUILD_KCONFIGh]hKBUILD_KCONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKtubh)}(hU将顶级 Kconfig 文件设置为此环境变量的值。默认名称为 "Kconfig"。h]hY将顶级 Kconfig 文件设置为此环境变量的值。默认名称为 “Kconfig”。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKuhjhhubeh}(h]kbuild-kconfigah ]h"]kbuild_kconfigah$]h&]uh1jUhjhhhhhKtubjV)}(hhh](j[)}(hKBUILD_VERBOSEh]hKBUILD_VERBOSE}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj(hhhhhKxubh)}(hG设置 kbuild 的详细程度。可以分配与 "V=..." 相同的值。h]hK设置 kbuild 的详细程度。可以分配与 “V=...” 相同的值。}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj(hhubh)}(h-有关完整列表,请参见 `make help`。h](h有关完整列表,请参见 }(hjGhhhNhNubhtitle_reference)}(h `make help`h]h make help}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jOhjGubh。}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK{hj(hhubh)}(h*设置 "V=..." 优先于 KBUILD_VERBOSE。h]h.设置 “V=...” 优先于 KBUILD_VERBOSE。}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hj(hhubeh}(h]kbuild-verboseah ]h"]kbuild_verboseah$]h&]uh1jUhjhhhhhKxubjV)}(hhh](j[)}(h KBUILD_EXTMODh]h KBUILD_EXTMOD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h?在构建外部模块时设置内核源代码的搜索目录。h]h?在构建外部模块时设置内核源代码的搜索目录。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h)设置 "M=..." 优先于 KBUILD_EXTMOD。h]h-设置 “M=...” 优先于 KBUILD_EXTMOD。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] kbuild-extmodah ]h"] kbuild_extmodah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(h KBUILD_OUTPUTh]h KBUILD_OUTPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h$指定内核构建的输出目录。h]h$指定内核构建的输出目录。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h在单独的构建目录中为预构建内核构建外部模块时,这个变量也可以指向内核输出目录。请注意, 这并不指定外部模块本身的输出目录。h]h在单独的构建目录中为预构建内核构建外部模块时,这个变量也可以指向内核输出目录。请注意, 这并不指定外部模块本身的输出目录。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h-输出目录也可以使用 "O=..." 指定。h]h1输出目录也可以使用 “O=...” 指定。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h)设置 "O=..." 优先于 KBUILD_OUTPUT。h]h-设置 “O=...” 优先于 KBUILD_OUTPUT。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] kbuild-outputah ]h"] kbuild_outputah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hKBUILD_EXTRA_WARNh]hKBUILD_EXTRA_WARN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h`指定额外的构建检查。也可以通过在命令行传递 "W=..." 来设置相同的值。h]hd指定额外的构建检查。也可以通过在命令行传递 “W=...” 来设置相同的值。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h1请参阅 `make help` 了解支持的值列表。h](h 请参阅 }(hj$hhhNhNubjP)}(h `make help`h]h make help}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jOhj$ubh 了解支持的值列表。}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h-设置 "W=..." 优先于 KBUILD_EXTRA_WARN。h]h1设置 “W=...” 优先于 KBUILD_EXTRA_WARN。}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]kbuild-extra-warnah ]h"]kbuild_extra_warnah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hKBUILD_DEBARCHh]hKBUILD_DEBARCH}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjZhhhhhKubh)}(hX 对于 deb-pkg 目标,允许覆盖 deb-pkg 部署的正常启发式方法。通常 deb-pkg 尝试根据 UTS_MACHINE 变量(在某些架构中还包括内核配置)来猜测正确的架构。KBUILD_DEBARCH 的值假定(不检查)为有效的 Debian 架构。h]hX 对于 deb-pkg 目标,允许覆盖 deb-pkg 部署的正常启发式方法。通常 deb-pkg 尝试根据 UTS_MACHINE 变量(在某些架构中还包括内核配置)来猜测正确的架构。KBUILD_DEBARCH 的值假定(不检查)为有效的 Debian 架构。}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZhhubeh}(h]kbuild-debarchah ]h"]kbuild_debarchah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(h KDOCFLAGSh]h KDOCFLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h指定在构建过程中用于 kernel-doc 检查的额外(警告/错误)标志,查看 scripts/kernel-doc 了解支持的标志。请注意,这目前不适用于文档构建。h]h指定在构建过程中用于 kernel-doc 检查的额外(警告/错误)标志,查看 scripts/kernel-doc 了解支持的标志。请注意,这目前不适用于文档构建。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] kdocflagsah ]h"] kdocflagsah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hARCHh]hARCH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h$设置 ARCH 为要构建的架构。h]h$设置 ARCH 为要构建的架构。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hU在大多数情况下,架构的名称与 arch/ 目录中的子目录名称相同。h]hU在大多数情况下,架构的名称与 arch/ 目录中的子目录名称相同。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h2但某些架构(如 x86 和 sparc)有别名。h]h2但某些架构(如 x86 和 sparc)有别名。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh bullet_list)}(hhh](h list_item)}(h.x86: i386 表示 32 位,x86_64 表示 64 位h]h)}(hjh]h.x86: i386 表示 32 位,x86_64 表示 64 位}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hparisc: parisc64 表示 64 位h]h)}(hjh]hparisc: parisc64 表示 64 位}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h5sparc: sparc32 表示 32 位,sparc64 表示 64 位 h]h)}(h4sparc: sparc32 表示 32 位,sparc64 表示 64 位h]h4sparc: sparc32 表示 32 位,sparc64 表示 64 位}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjhhubeh}(h]archah ]h"]archah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(h CROSS_COMPILEh]h CROSS_COMPILE}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj@hhhhhKubh)}(ho指定 binutils 文件名的可选固定部分。CROSS_COMPILE 可以是文件名的一部分或完整路径。h]ho指定 binutils 文件名的可选固定部分。CROSS_COMPILE 可以是文件名的一部分或完整路径。}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@hhubh)}(h6在某些设置中,CROSS_COMPILE 也用于 ccache。h]h6在某些设置中,CROSS_COMPILE 也用于 ccache。}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@hhubeh}(h] cross-compileah ]h"] cross_compileah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hCFh]hCF}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjuhhhhhKubh)}(h 用于 sparse 的额外选项。h]h 用于 sparse 的额外选项。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubh)}(h,CF 通常在命令行中如下所示使用::h]h+CF 通常在命令行中如下所示使用:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubh literal_block)}(hmake CF=-Wbitwise C=2h]hmake CF=-Wbitwise C=2}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjuhhubeh}(h]cfah ]h"]cfah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(h INSTALL_PATHh]h INSTALL_PATH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h}INSTALL_PATH 指定放置更新后的内核和系统映像的路径。默认值是 /boot,但你可以设置 为其他值。h]h}INSTALL_PATH 指定放置更新后的内核和系统映像的路径。默认值是 /boot,但你可以设置 为其他值。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] install-pathah ]h"] install_pathah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(h INSTALLKERNELh]h INSTALLKERNEL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(hT使用 "make install" 时调用的安装脚本。 默认名称是 "installkernel"。h]h\使用 “make install” 时调用的安装脚本。 默认名称是 “installkernel”。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h'该脚本将会以以下参数调用:h]h'该脚本将会以以下参数调用:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh block_quote)}(h- $1 - 内核版本 - $2 - 内核映像文件 - $3 - 内核映射文件 - $4 - 默认安装路径(如果为空,则使用根目录) h]j)}(hhh](j)}(h$1 - 内核版本h]h)}(hjh]h$1 - 内核版本}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h$2 - 内核映像文件h]h)}(hj0h]h$2 - 内核映像文件}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h$3 - 内核映射文件h]h)}(hjGh]h$3 - 内核映射文件}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjEubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h?$4 - 默认安装路径(如果为空,则使用根目录) h]h)}(h>$4 - 默认安装路径(如果为空,则使用根目录)h]h>$4 - 默认安装路径(如果为空,则使用根目录)}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]j6j7uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(hK"make install" 的实现是架构特定的,可能与上述有所不同。h]hO“make install” 的实现是架构特定的,可能与上述有所不同。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hW提供 INSTALLKERNEL 以便在交叉编译内核时可以指定自定义安装程序。h]hW提供 INSTALLKERNEL 以便在交叉编译内核时可以指定自定义安装程序。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] installkernelah ]h"] installkernelah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hMODLIBh]hMODLIB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(h-指定模块的安装位置。 默认值为::h]h,指定模块的安装位置。 默认值为:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(h0$(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)h]h0$(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(h?该值可以被覆盖,在这种情况下将忽略默认值。h]h?该值可以被覆盖,在这种情况下将忽略默认值。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]modlibah ]h"]modlibah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hINSTALL_MOD_PATHh]hINSTALL_MOD_PATH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhhhhhKubh)}(hINSTALL_MOD_PATH 指定了模块目录重定位时 MODLIB 的前缀,通常由构建根 (build roots)所需。它没有在 makefile 中定义,但如果需要,可以作为 参数传递给 make。h]hINSTALL_MOD_PATH 指定了模块目录重定位时 MODLIB 的前缀,通常由构建根 (build roots)所需。它没有在 makefile 中定义,但如果需要,可以作为 参数传递给 make。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]install-mod-pathah ]h"]install_mod_pathah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hINSTALL_MOD_STRIPh]hINSTALL_MOD_STRIP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhKubh)}(h如果 INSTALL_MOD_STRIP 被定义,内核模块在安装后会被剥离。如果 INSTALL_MOD_STRIP 的值为 '1',则会使用默认选项 --strip-debug。否则, INSTALL_MOD_STRIP 的值将作为 strip 命令的选项。h]h如果 INSTALL_MOD_STRIP 被定义,内核模块在安装后会被剥离。如果 INSTALL_MOD_STRIP 的值为 ‘1’,则会使用默认选项 --strip-debug。否则, INSTALL_MOD_STRIP 的值将作为 strip 命令的选项。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]install-mod-stripah ]h"]install_mod_stripah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hINSTALL_HDR_PATHh]hINSTALL_HDR_PATH}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj5 hhhhhKubh)}(h_INSTALL_HDR_PATH 指定了执行 "make headers_*" 时,用户空间头文件的安装位置。h]hcINSTALL_HDR_PATH 指定了执行 “make headers_*” 时,用户空间头文件的安装位置。}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5 hhubh)}(h默认值为::h]h 默认值为:}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5 hhubj)}(h$(objtree)/usrh]h$(objtree)/usr}hjb sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhj5 hhubh)}(hl$(objtree) 是保存输出文件的目录。 输出目录通常使用命令行中的 "O=..." 进行设置。h]hp$(objtree) 是保存输出文件的目录。 输出目录通常使用命令行中的 “O=...” 进行设置。}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5 hhubh)}(h?该值可以被覆盖,在这种情况下将忽略默认值。h]h?该值可以被覆盖,在这种情况下将忽略默认值。}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5 hhubeh}(h]install-hdr-pathah ]h"]install_hdr_pathah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hINSTALL_DTBS_PATHh]hINSTALL_DTBS_PATH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhKubh)}(hINSTALL_DTBS_PATH 指定了设备树二进制文件的安装位置,通常由构建根(build roots)所需。 它没有在 makefile 中定义,但如果需要,可以作为参数传递给 make。h]hINSTALL_DTBS_PATH 指定了设备树二进制文件的安装位置,通常由构建根(build roots)所需。 它没有在 makefile 中定义,但如果需要,可以作为参数传递给 make。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]install-dtbs-pathah ]h"]install_dtbs_pathah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hKBUILD_ABS_SRCTREEh]hKBUILD_ABS_SRCTREE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhKubh)}(hKbuild 在可能的情况下使用相对路径指向源代码树。例如,在源代码树中构建时,源代码树路径是 '.'。h]hKbuild 在可能的情况下使用相对路径指向源代码树。例如,在源代码树中构建时,源代码树路径是 ‘.’。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(h设置该标志请求 Kbuild 使用源代码树的绝对路径。 在某些情况下这是有用的,例如在生成带有绝对路径条目的标签文件时等。h]h设置该标志请求 Kbuild 使用源代码树的绝对路径。 在某些情况下这是有用的,例如在生成带有绝对路径条目的标签文件时等。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]kbuild-abs-srctreeah ]h"]kbuild_abs_srctreeah$]h&]uh1jUhjhhhhhKubjV)}(hhh](j[)}(hKBUILD_SIGN_PINh]hKBUILD_SIGN_PIN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhMubh)}(hz当签署内核模块时,如果私钥需要密码或 PIN,此变量允许将密码或 PIN 传递给 sign-file 工具。h]hz当签署内核模块时,如果私钥需要密码或 PIN,此变量允许将密码或 PIN 传递给 sign-file 工具。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]kbuild-sign-pinah ]h"]kbuild_sign_pinah$]h&]uh1jUhjhhhhhMubjV)}(hhh](j[)}(hKBUILD_MODPOST_WARNh]hKBUILD_MODPOST_WARN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhMubh)}(hKBUILD_MODPOST_WARN 可以设置为在最终模块链接阶段出现未定义符号时避免错误。它将这些错误 转为警告。h]hKBUILD_MODPOST_WARN 可以设置为在最终模块链接阶段出现未定义符号时避免错误。它将这些错误 转为警告。}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]kbuild-modpost-warnah ]h"]kbuild_modpost_warnah$]h&]uh1jUhjhhhhhMubjV)}(hhh](j[)}(hKBUILD_MODPOST_NOFINALh]hKBUILD_MODPOST_NOFINAL}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj> hhhhhM ubh)}(hkKBUILD_MODPOST_NOFINAL 可以设置为跳过模块的最终链接。这仅在加速编译测试时有用。h]hkKBUILD_MODPOST_NOFINAL 可以设置为跳过模块的最终链接。这仅在加速编译测试时有用。}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj> hhubeh}(h]kbuild-modpost-nofinalah ]h"]kbuild_modpost_nofinalah$]h&]uh1jUhjhhhhhM ubjV)}(hhh](j[)}(hKBUILD_EXTRA_SYMBOLSh]hKBUILD_EXTRA_SYMBOLS}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhje hhhhhMubh)}(h?用于依赖其他模块符号的模块。详见 modules.rst。h]h?用于依赖其他模块符号的模块。详见 modules.rst。}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhje hhubeh}(h]kbuild-extra-symbolsah ]h"]kbuild_extra_symbolsah$]h&]uh1jUhjhhhhhMubjV)}(hhh](j[)}(hALLSOURCE_ARCHSh]hALLSOURCE_ARCHS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhMubh)}(hn对于 tags/TAGS/cscope 目标,可以指定包含在数据库中的多个架构,用空格分隔。例如::h]hm对于 tags/TAGS/cscope 目标,可以指定包含在数据库中的多个架构,用空格分隔。例如:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h*$ make ALLSOURCE_ARCHS="x86 mips arm" tagsh]h*$ make ALLSOURCE_ARCHS="x86 mips arm" tags}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj hhubh)}(h<要获取所有可用架构,也可以指定 all。例如::h]h;要获取所有可用架构,也可以指定 all。例如:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h$ make ALLSOURCE_ARCHS=all tagsh]h$ make ALLSOURCE_ARCHS=all tags}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj hhubeh}(h]allsource-archsah ]h"]allsource_archsah$]h&]uh1jUhjhhhhhMubjV)}(hhh](j[)}(h IGNORE_DIRSh]h IGNORE_DIRS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhMubh)}(hk对于 tags/TAGS/cscope 目标,可以选择不包含在数据库中的目录,用空格分隔。例如::h]hj对于 tags/TAGS/cscope 目标,可以选择不包含在数据库中的目录,用空格分隔。例如:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h8$ make IGNORE_DIRS="drivers/gpu/drm/radeon tools" cscopeh]h8$ make IGNORE_DIRS="drivers/gpu/drm/radeon tools" cscope}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhM hj hhubeh}(h] ignore-dirsah ]h"] ignore_dirsah$]h&]uh1jUhjhhhhhMubjV)}(hhh](j[)}(hKBUILD_BUILD_TIMESTAMPh]hKBUILD_BUILD_TIMESTAMP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hhhhhM#ubh)}(hX将该环境变量设置为日期字符串,可以覆盖在 UTS_VERSION 定义中使用的时间戳 (运行内核时的 uname -v)。该值必须是一个可以传递给 date -d 的字符串。默认值是 内核构建某个时刻的 date 命令输出。h]hX将该环境变量设置为日期字符串,可以覆盖在 UTS_VERSION 定义中使用的时间戳 (运行内核时的 uname -v)。该值必须是一个可以传递给 date -d 的字符串。默认值是 内核构建某个时刻的 date 命令输出。}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj hhubeh}(h]kbuild-build-timestampah ]h"]kbuild_build_timestampah$]h&]uh1jUhjhhhhhM#ubjV)}(hhh](j[)}(h$KBUILD_BUILD_USER, KBUILD_BUILD_HOSTh]h$KBUILD_BUILD_USER, KBUILD_BUILD_HOST}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj9 hhhhhM)ubh)}(h这两个变量允许覆盖启动时显示的 user@host 字符串以及 /proc/version 中的信息。 默认值分别是 whoami 和 host 命令的输出。h](h.这两个变量允许覆盖启动时显示的 }(hjJ hhhNhNubj()}(h user@hosth]h user@host}(hjR hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:user@hostuh1j'hjJ ubhd 字符串以及 /proc/version 中的信息。 默认值分别是 whoami 和 host 命令的输出。}(hjJ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hj9 hhubeh}(h]#kbuild-build-user-kbuild-build-hostah ]h"]$kbuild_build_user, kbuild_build_hostah$]h&]uh1jUhjhhhhhM)ubjV)}(hhh](j[)}(hLLVMh]hLLVM}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjt hhhhhM.ubh)}(hw如果该变量设置为 1,Kbuild 将使用 Clang 和 LLVM 工具,而不是 GCC 和 GNU binutils 来构建内核。h]hw如果该变量设置为 1,Kbuild 将使用 Clang 和 LLVM 工具,而不是 GCC 和 GNU binutils 来构建内核。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjt hhubeh}(h]llvmah ]h"]llvmah$]h&]uh1jUhjhhhhhM.ubeh}(h]id2ah ]h"] 环境变量ah$]h&]uh1jUhjWhhhhhK%ubeh}(h]kbuildah ]h"]kbuildah$]h&]uh1jUhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jZN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}j]jasnameids}(j j jjjjjjjjjjj j jTjQj{jxjjjjjjjjj>j;jejbjjjjjjjjj(j%jOjLjvjsjjjjjjjjj%j"j|jyjjjjjWjTj~j{jjj=j:jrjojjjjjjjjj j j2 j/ j j j j j j j j j; j8 jb j_ j j j j j j j6 j3 jq jn j j u nametypes}(j jjjjjj jTj{jjjjj>jejjjjj(jOjvjjjjj%j|jjjWj~jj=jrjjjjj j2 j j j j j; jb j j j j6 jq j uh}(j jWjjjjj{jjjjjjj jjQj0jxjWjj~jjjjjjj;jjbjAjjhjjjjjjj%jjLj+jsjRjjyjjjjjjj"jjyj(jjjjjTjj{jZjjj:jjoj@jjujjjjjjj jj/ j j j5 j j j j j j j8 j j_ j> j je j j j j j3 j jn j9 j jt u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j KsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h;Hyperlink target "zh-cn-userkbuildflags" is not referenced.}hj8 sbah}(h]h ]h"]h$]h&]uh1hhj5 ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKsuh1j3 uba transformerN include_log]2Documentation/translations/zh_CN/kbuild/kbuild.rst(NNNNta decorationNhhub.