diff options
Diffstat (limited to 'Makeconf')
-rw-r--r-- | Makeconf | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -379,19 +379,30 @@ endif # TAGS files ifneq ($(dir),.) -ifeq ($(SRCS),) -TAGS: $(OTHERTAGS) -ifeq ($(OTHERTAGS),) +ifdef configured +ifneq ($(OBJS:.o=.d),) +DEP_SRCS = sed -e 's/^.*://' -e 's/ \\$$//' | tr ' ' '\012'| \ + sed -n -e 's@^$(srcdir)@&@p' -e 's@^[^/]@&@p' | sort -ur +TAGSFILES=$(OBJS:.o=.d) $(OTHERTAGS) +else +TAGSFILES=$(OTHERTAGS) +endif +else +TAGSFILES=$(SRCS) $(OTHERTAGS) +endif + +TAGS: $(TAGSFILES) +ifeq ($(strip($(TAGSFILES))),) # no tags, but parent will include this file, so make empty one. > $@ else - etags -o $@ $^ -endif +ifdef DEP_SRCS + cat $(OBJS:.o=.d) | $(DEP_SRCS) | etags -o $@ - $(OTHERTAGS) else -TAGS: $(SRCS) $(OTHERTAGS) etags -o $@ $^ endif endif +endif # Cleaning ifeq ($(clean),yes) |