All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] Makefile: add GNU global tags support
@ 2021-01-08 12:19 Alex Bennée
  2021-01-08 17:54 ` Ben Widawsky
  0 siblings, 1 reply; 7+ messages in thread
From: Alex Bennée @ 2021-01-08 12:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée

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>
---
 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



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-08 12:19 [RFC PATCH] Makefile: add GNU global tags support Alex Bennée
@ 2021-01-08 17:54 ` Ben Widawsky
  2021-01-08 22:30   ` Alex Bennée
  0 siblings, 1 reply; 7+ messages in thread
From: Ben Widawsky @ 2021-01-08 17:54 UTC (permalink / raw)
  To: Alex Bennée; +Cc: qemu-devel

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.

> ---
>  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
> 
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-08 17:54 ` Ben Widawsky
@ 2021-01-08 22:30   ` Alex Bennée
  2021-01-08 22:42     ` Ben Widawsky
  0 siblings, 1 reply; 7+ messages in thread
From: Alex Bennée @ 2021-01-08 22:30 UTC (permalink / raw)
  To: Ben Widawsky; +Cc: qemu-devel


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?

>
>> ---
>>  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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-08 22:30   ` Alex Bennée
@ 2021-01-08 22:42     ` Ben Widawsky
  2021-01-12  9:27       ` Alex Bennée
  0 siblings, 1 reply; 7+ messages in thread
From: Ben Widawsky @ 2021-01-08 22:42 UTC (permalink / raw)
  To: Alex Bennée; +Cc: qemu-devel

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-08 22:42     ` Ben Widawsky
@ 2021-01-12  9:27       ` Alex Bennée
  2021-01-12 15:00         ` Ben Widawsky
  0 siblings, 1 reply; 7+ messages in thread
From: Alex Bennée @ 2021-01-12  9:27 UTC (permalink / raw)
  To: Ben Widawsky; +Cc: qemu-devel


Ben Widawsky <ben@bwidawsk.net> writes:

> 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.

Did you run this in the build directory by any chance? I tested in the
source directory because that's generally where you want the tags.

I wonder what the best solution is to this? Always force ourselves to be
in the source dir? Or error out when we are not in the source tree?


>
>> >
>> >> ---
>> >>  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


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-12  9:27       ` Alex Bennée
@ 2021-01-12 15:00         ` Ben Widawsky
  2021-01-12 16:58           ` Alex Bennée
  0 siblings, 1 reply; 7+ messages in thread
From: Ben Widawsky @ 2021-01-12 15:00 UTC (permalink / raw)
  To: Alex Bennée; +Cc: qemu-devel

On 21-01-12 09:27:39, Alex Bennée wrote:
> 
> Ben Widawsky <ben@bwidawsk.net> writes:
> 
> > 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.
> 
> Did you run this in the build directory by any chance? I tested in the
> source directory because that's generally where you want the tags.
> 
> I wonder what the best solution is to this? Always force ourselves to be
> in the source dir? Or error out when we are not in the source tree?

I was in the build directory. With ctags, that works for me in both source and
build directory.

It does indeed work from the source directory.

I'm wondering how gtags can't seem to do this (I wasn't able to figure it out,
at least).

I'd be in favor of error.


> 
> 
> >
> >> >
> >> >> ---
> >> >>  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
> 
> 
> -- 
> Alex Bennée


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC PATCH] Makefile: add GNU global tags support
  2021-01-12 15:00         ` Ben Widawsky
@ 2021-01-12 16:58           ` Alex Bennée
  0 siblings, 0 replies; 7+ messages in thread
From: Alex Bennée @ 2021-01-12 16:58 UTC (permalink / raw)
  To: Ben Widawsky; +Cc: qemu-devel


Ben Widawsky <ben@bwidawsk.net> writes:

> On 21-01-12 09:27:39, Alex Bennée wrote:
>> 
>> Ben Widawsky <ben@bwidawsk.net> writes:
>> 
>> > 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.
>> 
>> Did you run this in the build directory by any chance? I tested in the
>> source directory because that's generally where you want the tags.
>> 
>> I wonder what the best solution is to this? Always force ourselves to be
>> in the source dir? Or error out when we are not in the source tree?
>
> I was in the build directory. With ctags, that works for me in both source and
> build directory.
>
> It does indeed work from the source directory.
>
> I'm wondering how gtags can't seem to do this (I wasn't able to figure it out,
> at least).

The start of the manual states:

  Gtags recursively collects source files under the current directory,
  picks up symbols and writes the cross-reference data into the tag files
  (´GTAGS´, ´GRTAGS´ and ´GPATH´).

so I guess when it finds files outside of CWD it gets confused. While
all of my build trees are inside the source tree ("builds/foo|bar|baz")
they don't have to be. 

> I'd be in favor of error.

The other tags targets always generate to source root so I'm going to go
for:

  .PHONY: gtags
  gtags:
          $(call quiet-command, \
                  rm -f "$(SRC_PATH)/"GTAGS \
                  rm -f "$(SRC_PATH)/"GRTAGS \
                  rm -f "$(SRC_PATH)/"GPATH, \
                  "GTAGS", "Remove old")
          $(call quiet-command, \
            (cd $(SRC_PATH) && $(find-src-path) | gtags -f -), \
            "GTAGS", "Re-index $(SRC_PATH)")

which also makes the output a bit nicer.
>
>
>> 
>> 
>> >
>> >> >
>> >> >> ---
>> >> >>  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
>> 
>> 
>> -- 
>> Alex Bennée


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-12 17:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 12:19 [RFC PATCH] Makefile: add GNU global tags support Alex Bennée
2021-01-08 17:54 ` Ben Widawsky
2021-01-08 22:30   ` Alex Bennée
2021-01-08 22:42     ` Ben Widawsky
2021-01-12  9:27       ` Alex Bennée
2021-01-12 15:00         ` Ben Widawsky
2021-01-12 16:58           ` Alex Bennée

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.