summaryrefslogtreecommitdiff
path: root/MakeTAGS
diff options
context:
space:
mode:
Diffstat (limited to 'MakeTAGS')
-rw-r--r--MakeTAGS11
1 files changed, 8 insertions, 3 deletions
diff --git a/MakeTAGS b/MakeTAGS
index c6f497ee00..f9e073b43c 100644
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -84,17 +84,22 @@ sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c))
# All different versions of $(sources), preserving the configured sysdep
# directory order.
+# Files that are found in the current directory cannot occur in
+# sysdep directories, so don't bother searching them.
+sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources))
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
$(others:=.c) $(tests:=.c))) \
$(foreach dir,$(all-dirs),\
$(wildcard \
$(addprefix $(dir)/,\
- $(sort $(sources) $(sources:.c=.S) \
- $(sources:.c=.s)))))
+ $(sort $(sysdep-sources) \
+ $(sysdep-sources:.c=.S) \
+ $(sysdep-sources:.c=.s)))))
+sysdep-headers := $(filter-out $(wildcard $(headers)), $(headers))
all-headers = $(wildcard $(headers)) \
$(foreach dir,$(all-dirs),\
- $(wildcard $(addprefix $(dir)/,$(headers))))
+ $(wildcard $(addprefix $(dir)/,$(sysdep-headers))))
tags_sources := $(strip $(tags_sources))