kbuild: add test-{ge,gt,le,lt} macros
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 11 Dec 2022 02:46:47 +0000 (11:46 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 13 Dec 2022 13:21:14 +0000 (22:21 +0900)
commitfccb3d3eda8d19b893e1fd18e8c70b78784b2a72
treec7685ee943ebd45f5ce0b34c720393ab3311fca8
parente4412739472b743e18860ad8d979a7ceb3071652
kbuild: add test-{ge,gt,le,lt} macros

GNU Make 4.4 introduced $(intcmp ...), which is useful to compare two
integers without forking a new process.

Add test-{ge,gt,le,lt} macros, which work more efficiently with GNU
Make >= 4.4. For older Make versions, they fall back to the 'test'
shell command.

The first two parameters to $(intcmp ...) must not be empty. To avoid
the syntax error, I appended '0' to them. Fortunately, '00' is treated
as '0'. This is needed because CONFIG options may expand to an empty
string when the kernel configuration is not included.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com> # RISC-V
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Makefile
arch/riscv/Makefile
arch/x86/Makefile
scripts/Kbuild.include
scripts/Makefile.compiler