bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#118908: make TAGS does not work without having run configure


From: Neal H Walfield
Subject: Bug#118908: make TAGS does not work without having run configure
Date: Thu, 15 Nov 2001 19:25:45 +0100
User-agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1

> I have found tags in the generated stubs useful sometimes.
> The old code gives you that, if you want to do make TAGS in a build directory.
> We could do that in the configured case.  But I don't really care.

Here is a patch to use the old behavior when the repository is
configured and to use the new, simpler behavior, when the repository
is unconfigured.

This also fixes a bug in the TAGS target: currently, we generate TAGS
files even in directories marked as broken (i.e. with the dir/BROKEN
marker).

One bug, however, remains: libstore/parted.c causes the TAGS target to
fail as there is no parted.d and, might I add, it fails for good
reason: we never actually create a parted.d file.


2001-11-15  Neal H Walfield  <neal@cs.uml.edu>

        * Makeconf (TAGS) [configured]: Create tags for MiG generated
        files.
        * Makefile (TAGS): Generate dependencies respecting broken
        code markers, i.e. based on $(working-prog-subdirs) and not
        $(prog-subdirs).


--- Makeconf.old        Thu Nov 15 18:31:20 2001
+++ Makeconf    Thu Nov 15 18:36:04 2001
@@ -379,19 +379,26 @@
 
 # TAGS files
 ifneq ($(dir),.)
-ifeq ($(SRCS),)
-TAGS: $(OTHERTAGS)
-ifeq ($(OTHERTAGS),)
+ifdef configured
+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=$(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)
--- Makefile    Thu Nov 15 18:47:39 2001
+++ Makefile.new        Thu Nov 15 13:45:55 2001
@@ -94,7 +102,7 @@
                $(working-prog-subdirs)\
                $(other-subdirs))
 
-TAGS: $(addsuffix -TAGS,$(prog-subdirs) $(lib-subdirs))
+TAGS: $(addsuffix -TAGS,$(working-prog-subdirs) $(lib-subdirs))
        etags -o $@ $(patsubst %-TAGS,-i %/TAGS,$^)
 
 ## Targets used by the main targets above.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]