On Thu, Aug 19, 2021 at 09:57:33AM +0900, Masahiro Yamada wrote: > The current gen_compile_commands.py assumes that objects are always > built by a single command. > > It makes sense to support cases where objects are built by a series of > commands: > > cmd_<object> := <command1> ; <command2> > > One use-case is <command1> is a compiler command, and <command2> is > an objtool command. > > It allows *.cmd files to contain an objtool command so that any change > in it triggers object rebuilds. > > If ; appears after the C source file, take the first command. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> Seems reasonable, given patch 3. Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > --- > > scripts/clang-tools/gen_compile_commands.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-tools/gen_compile_commands.py > index b7e9ecf16e56..0033eedce003 100755 > --- a/scripts/clang-tools/gen_compile_commands.py > +++ b/scripts/clang-tools/gen_compile_commands.py > @@ -18,7 +18,7 @@ _DEFAULT_OUTPUT = 'compile_commands.json' > _DEFAULT_LOG_LEVEL = 'WARNING' > > _FILENAME_PATTERN = r'^\..*\.cmd$' > -_LINE_PATTERN = r'^cmd_[^ ]*\.o := (.* )([^ ]*\.c)$' > +_LINE_PATTERN = r'^cmd_[^ ]*\.o := (.* )([^ ]*\.c) *(;|$)' > _VALID_LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] > # The tools/ directory adopts a different build system, and produces .cmd > # files in a different format. Do not support it. > -- > 2.30.2 > -- Kees Cook