From dbc48d758ac90748df4befc677b2d21c5cd06d3b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 23 Jan 2019 16:02:11 -0500 Subject: [PATCH] Avoid having to build src/emacs when we just want to `make tags` * Makefile.in (TAGS tags): Remove `src` from the dependencies. * src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c. --- Makefile.in | 4 +++- src/Makefile.in | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in index b6cd04d1f3d..53703638c42 100644 --- a/Makefile.in +++ b/Makefile.in @@ -944,7 +944,9 @@ extraclean: $(extraclean_dirs:=_extraclean) # 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 diff --git a/src/Makefile.in b/src/Makefile.in index 7eb58732672..5890eac8c63 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -720,7 +720,10 @@ ETAGS = ../lib-src/etags${EXEEXT} ${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