
On Sun, Feb 19, 2006 at 09:47:19PM +0100, Wolfgang Denk wrote:
In message 20060219150640.GA3310@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@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