* Makefile.in (TAGS tags): Remove `src` from the dependencies.
* src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.
# The src subdir knows how to do the right thing
# even when the build directory and source dir are different.
.PHONY: TAGS tags
-TAGS tags: lib lib-src src
+# FIXME: We used to include `src` in the dependencies, not sure why.
+# I removed it because it causes `make tags` to build Emacs.
+TAGS tags: lib lib-src # src
$(MAKE) -C src tags
.PHONY: have-tests
${ETAGS}: FORCE
${MAKE} -C ../lib-src $(notdir $@)
-ctagsfiles1 = $(wildcard ${srcdir}/*.[hc])
+# Remove macuvs.h and fingerprint.c since they'd cause `src/emacs`
+# to be built before we can get TAGS.
+ctagsfiles1 = $(filter-out ${srcdir}/macuvs.h ${srcdir}/fingerprint.c, \
+ $(wildcard ${srcdir}/*.[hc]))
ctagsfiles2 = $(wildcard ${srcdir}/*.m)
## In out-of-tree builds, TAGS are generated in the build dir, like