Martin Roth (gaumless@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11074
-gerrit
commit bf65c9c16574bb9b527ff5250fd8088f0fe194ac Author: Martin Roth martinroth@google.com Date: Wed Jul 29 14:55:18 2015 -0700
Add cscope/ctags generation for the current project
Use the dependency files to generate ctags or cscope data for the current project instead of the entire coreboot tree.
This isn't completely working for every platform at this point - while it finds all of the code in the coreboot/src tree, it doesn't find the code in 3rdparty right now.
Change-Id: Ie8aabcf46c8a69f718940c9e0fd7e7b05c9ce1fb Signed-off-by: Martin Roth martinroth@google.com --- Makefile | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 3a1b83a..421e919 100644 --- a/Makefile +++ b/Makefile @@ -251,6 +251,19 @@ ifndef NOMKDIR $(shell mkdir -p $(KCONFIG_SPLITCONFIG) $(objk)/lxdialog $(additional-dirs) $(alldirs)) endif
+$(obj)/project_filelist.txt: all + find $(obj) -name "*.d" -exec cat {} ; | \ + sed 's/[:\]/ /g' | sed 's/ /\n/g' | sort | uniq | \ + grep -v '.o$$' > $(obj)/project_filelist.txt + +#works with either exuberant ctags or ctags.emacs +ctags-project: clean-ctags $(obj)/project_filelist.txt + cat $(obj)/project_filelist.txt | \ + xargs ctags -o tags + +cscope-project: clean-cscope $(obj)/project_filelist.txt + cat $(obj)/project_filelist.txt | xargs cscope -b + cscope: cscope -bR
@@ -274,7 +287,11 @@ clean: clean-for-update clean-target clean-cscope: rm -f cscope.out
-distclean: clean +clean-ctags: + rm -f tags + +distclean: clean clean-ctags clean-cscope rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig* .ccwrap .xcompile
.PHONY: $(PHONY) clean clean-for-update clean-cscope cscope distclean doxygen doxy doxygen_simple +.PHONY: ctags-project cscope-project clean-ctags