[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH] Makefile: add GNU global tags support
From: |
Ben Widawsky |
Subject: |
Re: [RFC PATCH] Makefile: add GNU global tags support |
Date: |
Fri, 8 Jan 2021 14:42:31 -0800 |
On 21-01-08 22:30:59, Alex Bennée wrote:
>
> Ben Widawsky <ben@bwidawsk.net> writes:
>
> > On 21-01-08 12:19:35, Alex Bennée wrote:
> >> GNU Global is another tags engine which is more like cscope in being
> >> able to support finding both references and definitions. You will be
> >> un-surprised to know it also integrates well with Emacs.
> >>
> >> The main benefit of integrating it into find-src-path is it takes less
> >> time to rebuild the database from scratch when you have a lot of build
> >> directories under your source tree.
> >>
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >
> > It might be worth mentioning that the Linux kernel has supported this for a
> > long
> > time now (10+ years).
> >
> > Having switched to gtags about 3 years ago, I think it's summarily better
> > and
> > would really like this to get merged.
>
> So I take it that's a reviewed-by and a tested-by tag from you?
>
It doesn't actually work correctly for me, I just like the idea :-)
make gtags 2>&1 | grep ignored | wc -l
6266
Warning: '/home/bwidawsk/work/clk/qemu/accel/qtest/qtest.c' is out of source
tree. ignored.
> >
> >> ---
> >> Makefile | 9 ++++++++-
> >> .gitignore | 3 +++
> >> 2 files changed, 11 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Makefile b/Makefile
> >> index fb9923ff22..66eec99685 100644
> >> --- a/Makefile
> >> +++ b/Makefile
> >> @@ -253,6 +253,13 @@ ctags:
> >> rm -f "$(SRC_PATH)/"tags
> >> $(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
> >>
> >> +.PHONY: gtags
> >> +gtags:
> >> + rm -f "$(SRC_PATH)/"GTAGS
> >> + rm -f "$(SRC_PATH)/"GRTAGS
> >> + rm -f "$(SRC_PATH)/"GPATH
> >> + $(find-src-path) | gtags -f -
> >> +
> >> .PHONY: TAGS
> >> TAGS:
> >> rm -f "$(SRC_PATH)/"TAGS
> >> @@ -279,7 +286,7 @@ help:
> >> $(call print-help,all,Build all)
> >> $(call print-help,dir/file.o,Build specified target only)
> >> $(call print-help,install,Install QEMU, documentation and tools)
> >> - $(call print-help,ctags/TAGS,Generate tags file for editors)
> >> + $(call print-help,ctags/gtags/TAGS,Generate tags file for editors)
> >> $(call print-help,cscope,Generate cscope index)
> >> $(call print-help,sparse,Run sparse on the QEMU source)
> >> @echo ''
> >> diff --git a/.gitignore b/.gitignore
> >> index b32bca1315..75a4be0724 100644
> >> --- a/.gitignore
> >> +++ b/.gitignore
> >> @@ -7,6 +7,9 @@
> >> cscope.*
> >> tags
> >> TAGS
> >> +GPATH
> >> +GRTAGS
> >> +GTAGS
> >> *~
> >> *.ast_raw
> >> *.depend_raw
> >> --
> >> 2.20.1
> >>
> >>
>
>
> --
> Alex Bennée