kbuild: fix the document to use extra-y for vmlinux.lds

The difference between "always" and "extra-y" is that the targets
listed in $(always) are always built, whereas the ones in $(extra-y)
are built only when KBUILD_BUILTIN is set.

So, "make modules" does not build the targets in $(extra-y).

vmlinux.lds is only needed for linking vmlinux. So, adding it to extra-y
is more correct. In fact, arch/x86/kernel/Makefile does this.

Fix the example code.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2020-02-02 01:49:23 +09:00
parent c8fb7d7e48
commit faa7bdd7e9

View File

@ -1269,12 +1269,12 @@ When kbuild executes, the following steps are followed (roughly):
Example:: Example::
#arch/x86/kernel/Makefile #arch/x86/kernel/Makefile
always := vmlinux.lds extra-y := vmlinux.lds
#Makefile #Makefile
export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
The assignment to $(always) is used to tell kbuild to build the The assignment to extra-y is used to tell kbuild to build the
target vmlinux.lds. target vmlinux.lds.
The assignment to $(CPPFLAGS_vmlinux.lds) tells kbuild to use the The assignment to $(CPPFLAGS_vmlinux.lds) tells kbuild to use the
specified options when building the target vmlinux.lds. specified options when building the target vmlinux.lds.