[U-Boot-Users] [PATCH] Add target 'cscope' to Makefile

Horst Kronstorfer crimm at elemaa.net
Mon Feb 20 00:34:51 CET 2006


On Sun, Feb 19, 2006 at 09:47:19PM +0100, Wolfgang Denk wrote:
> In message <20060219150640.GA3310 at aquarius> you wrote:
> > 
> > the following patch adds target 'cscope' to the main makefile. it also
> > puts the list of directories with source files and the arguments to `find'
> > into make variables.
> 
> On second look, I think this patch needs some more work:
> 
> > +# Directories with files for tag generation
> > +TAGDIRS := $(SUBDIRS) include lib_generic board/$(BOARDDIR) cpu/$(CPU)\
> > + lib_$(ARCH) fs/cramfs fs/fat fs/fdos fs/jffs2 net disk rtc dtt drivers\
> > + drivers/sk98lin common
> 
> This doesn't look complete to me - for example, how about post/ ?
> 

post is included in $(SUBDIRS), but you're right, some 'fs' subdirs were
missing. i should have examined it when i copied the directory list from
the 'tags'/'etags' target.

> > +# Arguments to `find' when generating a list of files for tag generation
> > +TAGFINDARGS := \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)
> 
> You should probably also exclude .git directories here, just in case.
> 

oke. i also excluded .svn (subversion)

-h

---

Signed-off-by: Horst Kronstorfer <hkronsto at frequentis.com>

CHANGELOG
* Added target 'cscope' to the main makefile. cscope (like ctags/etags) is
  a tool for browsing source code. For further information go to the cscope
  website at http://cscope.sourceforge.net/. An alternative to cscope named
  freescope is available at http://freescope.sourceforge.net/.
  Patch by Horst Kronstorfer, 20 Feb 2006


diff --git a/Makefile b/Makefile
index 9305cab..6ccbe0c 100644
--- a/Makefile
+++ b/Makefile
@@ -135,6 +135,14 @@ SUBDIRS	= tools \
 	  post/cpu
 .PHONY : $(SUBDIRS)
 
+# Directories with files for tag generation
+TAGDIRS := $(SUBDIRS) include lib_generic board/$(BOARDDIR) cpu/$(CPU)\
+ lib_$(ARCH) fs net disk rtc dtt drivers common
+
+# Arguments to `find' when generating a list of files for tag generation
+TAGFINDARGS := \( -name CVS -prune \) -o \( -name .git -prune \) -o\
+ \( -name .svn -prune \) -o \( -name '*.[ch]' -print \)
+
 #########################################################################
 #########################################################################
 
@@ -179,19 +187,14 @@ gdbtools:
 depend dep:
 		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
 
+cscope:
+		find $(TAGDIRS) $(TAGFINDARGS) >cscope.files; cscope -b -q -k
+
 tags:
-		ctags -w `find $(SUBDIRS) include \
-				lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-				fs/cramfs fs/fat fs/fdos fs/jffs2 \
-				net disk rtc dtt drivers drivers/sk98lin common \
-			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
+		ctags -w `find $(TAGDIRS) $(TAGFINDARGS)`
 
 etags:
-		etags -a `find $(SUBDIRS) include \
-				lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-				fs/cramfs fs/fat fs/fdos fs/jffs2 \
-				net disk rtc dtt drivers drivers/sk98lin common \
-			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
+		etags -a `find $(TAGDIRS) $(TAGFINDARGS)`
 
 System.map:	u-boot
 		@$(NM) $< | \
@@ -1838,7 +1841,7 @@ clobber:	clean
 		-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
 		-print0 \
 		| xargs -0 rm -f
-	rm -f $(OBJS) *.bak tags TAGS
+	rm -f $(OBJS) *.bak tags TAGS cscope.*
 	rm -fr *.*~
 	rm -f u-boot u-boot.map u-boot.hex $(ALL)
 	rm -f tools/crc32.c tools/environment.c tools/env/crc32.c




More information about the U-Boot mailing list