From 63e1769b16b4359b905ee6e6a5de3d0eab82bc0c Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 8 Feb 2023 17:12:43 +0900 Subject: Add TAGS rule [ci skip] --- defs/gmake.mk | 4 ++++ defs/tags.mk | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 defs/tags.mk (limited to 'defs') diff --git a/defs/gmake.mk b/defs/gmake.mk index 2b3d46e25c..c610eff283 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -269,6 +269,7 @@ HELP_EXTRA_TASKS = \ " checkout-github: checkout GitHub Pull Request [PR=1234]" \ " pull-github: rebase GitHub Pull Request to new worktree [PR=1234]" \ " update-github: merge master branch and push it to Pull Request [PR=1234]" \ + " tags: generate TAGS file" \ "" # 1. squeeze spaces @@ -505,3 +506,6 @@ matz: up -e "s/^\(#define RUBY_ABI_VERSION\) .*/\1 0/" \ $(files:%=$(srcdir)/%) $(GIT) -C $(srcdir) commit -m "$(message)" $(files) + +tags: + $(MAKE) GIT="$(GIT)" -C "$(srcdir)" -f defs/tags.mk diff --git a/defs/tags.mk b/defs/tags.mk new file mode 100644 index 0000000000..d29260c294 --- /dev/null +++ b/defs/tags.mk @@ -0,0 +1,18 @@ +# -*- mode: makefile-gmake; indent-tabs-mode: t -*- + +SRCS := $(shell $(GIT) ls-files \ + *.[chy] *.def *.inc *.rb \ + ccan/ coroutine/ include/ internal/ missing/ \ + 'enc/**/*.[ch]' 'win32/**/*.[ch]' \ + ) + +TAGS: $(SRCS) + @echo updating $@ + @tmp=$$(mktemp); \ + trap 'rm -f "$$tmp"' 0; \ + { \ + $(GIT) grep -h --no-line-number -o '^ *# *define *RBIMPL_ATTR_[A-Z_]*(*' -- include | \ + sed 's/^ *# *define *//;/_H$$/d;y/(/+/' | sort -u && \ + echo 'NORETURN+'; \ + } > "$$tmp" && \ + ctags -e -I@"$$tmp" -h .def.inc --langmap=c:+.y.def.inc $(^) -- cgit v1.2.1