[PATCH] Makefile: include scripts/ in compile_commands.json

Jonas Rebmann jre at pengutronix.de
Tue Feb 17 05:56:41 PST 2026


Although in many cases, C files in scripts/ would, because they rely on
the host toolchain and no unusual compiler flags, work fine in clangd
without a compile commands database, the (typically cross) compile
commands of the first entry in compile_commands.json are applied as
defaults once generated via `make compile_commands.json`.

As valid .cmd files are already present in scripts/ and
gen_compile_commands.py supports reading all cmd files in a subtree
recursively, simply add scripts to the gen_compile_commands.py
invocation. All enabled code in scripts/ is now properly covered by
compile_commands.json

Signed-off-by: Jonas Rebmann <jre at pengutronix.de>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 4296c97ef0..d76e375719 100644
--- a/Makefile
+++ b/Makefile
@@ -1461,7 +1461,7 @@ quiet_cmd_gen_compile_commands = GEN     $@
       cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
 
 compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
-	$(BAREBOX_OBJS) $(if $(CONFIG_PBL_IMAGE),$(BAREBOX_PBL_OBJS),) FORCE
+	$(BAREBOX_OBJS) $(if $(CONFIG_PBL_IMAGE),$(BAREBOX_PBL_OBJS),) scripts/ FORCE
 	$(call if_changed,gen_compile_commands)
 
 PHONY += compile_commands.json

---
base-commit: 74393178faf08f8102c7c370ac310c29112e1137
change-id: 20260217-scripts-compile-commands-hack-762a8f440ff2

Best regards,
--  
Jonas Rebmann <jre at pengutronix.de>




More information about the barebox mailing list