[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 2/9] Makefile: add GNU global tags support
From: |
Alex Bennée |
Subject: |
[PATCH v1 2/9] Makefile: add GNU global tags support |
Date: |
Wed, 13 Jan 2021 15:14:01 +0000 |
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>
---
v2
- run in SRC_PATH
- wrap in quiet-command
---
Makefile | 14 +++++++++++++-
.gitignore | 3 +++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index fb9923ff22..0c509a7704 100644
--- a/Makefile
+++ b/Makefile
@@ -253,6 +253,18 @@ ctags:
rm -f "$(SRC_PATH)/"tags
$(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
+.PHONY: gtags
+gtags:
+ $(call quiet-command, \
+ rm -f "$(SRC_PATH)/"GTAGS; \
+ rm -f "$(SRC_PATH)/"GRTAGS; \
+ rm -f "$(SRC_PATH)/"GPATH, \
+ "GTAGS", "Remove old $@ files")
+ $(call quiet-command, \
+ (cd $(SRC_PATH) && \
+ $(find-src-path) | gtags -f -), \
+ "GTAGS", "Re-index $(SRC_PATH)")
+
.PHONY: TAGS
TAGS:
rm -f "$(SRC_PATH)/"TAGS
@@ -279,7 +291,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
- [PATCH v1 0/9] testing/next (tags!, more travis/shippable deprecation), Alex Bennée, 2021/01/13
- [PATCH v1 1/9] tests/docker: Remove Debian 9 remnant lines, Alex Bennée, 2021/01/13
- [PATCH v1 2/9] Makefile: add GNU global tags support,
Alex Bennée <=
- [PATCH v1 3/9] shippable.yml: Remove jobs duplicated on Gitlab-CI, Alex Bennée, 2021/01/13
- [PATCH v1 4/9] Add newline when generating Dockerfile, Alex Bennée, 2021/01/13
- [PATCH v1 6/9] Makefile: wrap etags in quiet-command calls, Alex Bennée, 2021/01/13
- [PATCH v1 5/9] Makefile: wrap ctags in quiet-command calls, Alex Bennée, 2021/01/13
- [PATCH v1 7/9] Makefile: wrap cscope in quiet-command calls, Alex Bennée, 2021/01/13
- [PATCH v1 8/9] docker: expand debian-amd64 image to include tag tools, Alex Bennée, 2021/01/13
- [PATCH v1 9/9] gitlab: move docs and tools build across from Travis, Alex Bennée, 2021/01/13