I improved gen_compile_commands.py in the first two patches, then rebased Nathan's v7 [1] on top of them. To save time, I modified the Makefile part. No change for run-clang-tools.py I am not sure if the new directory, scripts/clang-tools/, is worth creating only for 2 files, but I do not have a strong opinion about it. "make clang-tidy" should work in-tree build, out-of-tree build (O=), and external module build (M=). Tests and reviews are appreciated. "make clang-tidy" worked for me. masahiro@oscar:~/workspace/linux-kbuild$ make -j24 CC=clang clang-tidy DESCEND objtool CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh CHK include/generated/compile.h GEN compile_commands.json CHECK compile_commands.json But "make clang-analyzer" just sprinkled the following error: Error: no checks enabled. USAGE: clang-tidy [options] <source0> [... <sourceN>] I built clang-tidy from the latest source. I had no idea how to make it work... [1] https://patchwork.kernel.org/patch/11687833/ Masahiro Yamada (2): gen_compile_commands: parse only the first line of .*.cmd files gen_compile_commands: wire up build rule to Makefile Nathan Huckleberry (1): Makefile: Add clang-tidy and static analyzer support to makefile MAINTAINERS | 1 + Makefile | 45 +++++- scripts/clang-tools/gen_compile_commands.py | 117 +++++++++++++++ scripts/clang-tools/run-clang-tools.py | 74 ++++++++++ scripts/gen_compile_commands.py | 151 -------------------- 5 files changed, 233 insertions(+), 155 deletions(-) create mode 100755 scripts/clang-tools/gen_compile_commands.py create mode 100755 scripts/clang-tools/run-clang-tools.py delete mode 100755 scripts/gen_compile_commands.py -- 2.25.1