diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2022-05-27 19:01:54 +0900 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2022-06-01 23:07:29 +0900 |
commit | ebd191b38c5ea177318543a08e544cf2f7df944d (patch) | |
tree | 30ff7589124833ebe70dbcbbb91a26176ca4afda /scripts/Kbuild.include | |
parent | c6031b1dbbbfec03891bf1baefa2e0803d705601 (diff) | |
download | linux-ebd191b38c5ea177318543a08e544cf2f7df944d.tar.gz linux-ebd191b38c5ea177318543a08e544cf2f7df944d.tar.bz2 linux-ebd191b38c5ea177318543a08e544cf2f7df944d.zip |
kbuild: add cmd_and_savecmd macro
Separate out the command execution part of if_changed, as we did
for if_changed_dep.
This allows us to reuse it in if_changed_rule.
define rule_foo
$(call cmd_and_savecmd,foo)
$(call cmd,bar)
endef
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM-14 (x86-64)
Diffstat (limited to 'scripts/Kbuild.include')
-rw-r--r-- | scripts/Kbuild.include | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 455a0a6ce12d..ece44b735061 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -142,9 +142,11 @@ check-FORCE = $(if $(filter FORCE, $^),,$(warning FORCE prerequisite is missing) if-changed-cond = $(newer-prereqs)$(cmd-check)$(check-FORCE) # Execute command if command has changed or prerequisite(s) are updated. -if_changed = $(if $(if-changed-cond), \ +if_changed = $(if $(if-changed-cond),$(cmd_and_savecmd),@:) + +cmd_and_savecmd = \ $(cmd); \ - printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:) + printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd # Execute the command and also postprocess generated .d dependencies file. if_changed_dep = $(if $(if-changed-cond),$(cmd_and_fixdep),@:) |