diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-02-08 17:12:43 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-02-08 18:00:05 +0900 |
commit | 63e1769b16b4359b905ee6e6a5de3d0eab82bc0c (patch) | |
tree | 4bed1b2738e0545e086fc89db113a65b98177ac4 /defs | |
parent | 8ce2fb9bbbaea14737c84385b1573f743a30f773 (diff) |
Add TAGS rule [ci skip]
Diffstat (limited to 'defs')
-rw-r--r-- | defs/gmake.mk | 4 | ||||
-rw-r--r-- | defs/tags.mk | 18 |
2 files changed, 22 insertions, 0 deletions
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 $(^) |