[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