For me I put the following line in my makefile
file:
tags:
find -type f -name "*.[ch]" -print0 | xargs -0 etags -o TAGS -a -l c
I refresh the tags with M-!
compile, then make tags
.
Emacs auto-detects that the TAGS file was refreshed, and asks you if you need to re-load it.
Otherwise, you can type M-x
tags-reset-tags-table, and when you search something with M-.
, Emacs auto-loads the new generated file.