]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - scripts/Makefile.lib
kbuild: introduce hostprogs-always-y and userprogs-always-y
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 1 Aug 2020 12:27:18 +0000 (21:27 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 9 Aug 2020 16:32:59 +0000 (01:32 +0900)
commitfaabed295cccc2aba2b67f2e7b309f2892d55004
treee5fa5b8a2d7437a5da376b5d8ecc7b044457e772
parent85569d19d0f57df5e6cbb918dbddd4f82c0117b5
kbuild: introduce hostprogs-always-y and userprogs-always-y

To build host programs, you need to add the program names to 'hostprogs'
to use the necessary build rule, but it is not enough to build them
because there is no dependency.

There are two types of host programs: built as the prerequisite of
another (e.g. gen_crc32table in lib/Makefile), or always built when
Kbuild visits the Makefile (e.g. genksyms in scripts/genksyms/Makefile).

The latter is typical in Makefiles under scripts/, which contains host
programs globally used during the kernel build. To build them, you need
to add them to both 'hostprogs' and 'always-y'.

This commit adds hostprogs-always-y as a shorthand.

The same applies to user programs. net/bpfilter/Makefile builds
bpfilter_umh on demand, hence always-y is unneeded. In contrast,
programs under samples/ are added to both 'userprogs' and 'always-y'
so they are always built when Kbuild visits the Makefiles.

userprogs-always-y works as a shorthand.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
22 files changed:
Documentation/kbuild/makefiles.rst
samples/auxdisplay/Makefile
samples/binderfs/Makefile
samples/connector/Makefile
samples/hidraw/Makefile
samples/mei/Makefile
samples/pidfd/Makefile
samples/seccomp/Makefile
samples/timers/Makefile
samples/uhid/Makefile
samples/vfs/Makefile
samples/watch_queue/Makefile
samples/watchdog/Makefile
scripts/Makefile
scripts/Makefile.clean
scripts/Makefile.lib
scripts/basic/Makefile
scripts/dtc/Makefile
scripts/genksyms/Makefile
scripts/mod/Makefile
scripts/selinux/genheaders/Makefile
scripts/selinux/mdp/Makefile