]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Makefile: don't use "FORCE" for tags targets
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 21 Jul 2021 23:23:04 +0000 (01:23 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 22 Jul 2021 16:29:24 +0000 (09:29 -0700)
Remove the "FORCE" dependency from the "tags", "TAGS" and "cscope"
targets, instead make them depend on whether or not the relevant
source files have changed.

For the cscope target we need to change it to depend on the actual
generated file while we generate while we're at it, as the next commit
will discuss we always generate a cscope.out file.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile

index faa89000973f4e7c2ab7bac7b29884efb83172ce..55d0a98dc6e0d5445dc0dad73e3d6d55cab0c705 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2727,20 +2727,24 @@ FIND_SOURCE_FILES = ( \
                | sed -e 's|^\./||' \
        )
 
-$(ETAGS_TARGET): FORCE
+FOUND_SOURCE_FILES = $(shell $(FIND_SOURCE_FILES))
+
+$(ETAGS_TARGET): $(FOUND_SOURCE_FILES)
        $(QUIET_GEN)$(RM) "$(ETAGS_TARGET)+" && \
-       $(FIND_SOURCE_FILES) | xargs etags -a -o "$(ETAGS_TARGET)+" && \
+       echo $(FOUND_SOURCE_FILES) | xargs etags -a -o "$(ETAGS_TARGET)+" && \
        mv "$(ETAGS_TARGET)+" "$(ETAGS_TARGET)"
 
-tags: FORCE
+tags: $(FOUND_SOURCE_FILES)
        $(QUIET_GEN)$(RM) tags+ && \
-       $(FIND_SOURCE_FILES) | xargs ctags -a -o tags+ && \
+       echo $(FOUND_SOURCE_FILES) | xargs ctags -a -o tags+ && \
        mv tags+ tags
 
-.PHONY: cscope
-cscope:
+cscope.out: $(FOUND_SOURCE_FILES)
        $(QUIET_GEN)$(RM) cscope* && \
-       $(FIND_SOURCE_FILES) | xargs cscope -b
+       echo $(FOUND_SOURCE_FILES) | xargs cscope -b
+
+.PHONY: cscope
+cscope: cscope.out
 
 ### Detect prefix changes
 TRACK_PREFIX = $(bindir_SQ):$(gitexecdir_SQ):$(template_dir_SQ):$(prefix_SQ):\
@@ -2921,7 +2925,7 @@ check: config-list.h command-list.h
                exit 1; \
        fi
 
-FOUND_C_SOURCES = $(filter %.c,$(shell $(FIND_SOURCE_FILES)))
+FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
 COCCI_SOURCES = $(filter-out $(THIRD_PARTY_SOURCES),$(FOUND_C_SOURCES))
 
 %.cocci.patch: %.cocci $(COCCI_SOURCES)