+ Use the default cscope names.

+ Enable fast symbol lookup.
+ Make sure files cscoped are really files, and add .S's.
+ Add 'cscope-clean' target.
This commit is contained in:
David E. O'Brien 2008-05-21 07:56:10 +00:00
parent 0fbd447b92
commit aa33f7d21e

View File

@ -8,8 +8,8 @@ SUBDIR= boot
.endif
# Directories to include in cscope name file and TAGS.
CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom gnu \
i4b isa kern libkern modules net net80211 netatalk netatm \
CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom \
gnu i4b isa kern libkern modules net net80211 netatalk netatm \
netgraph netinet netinet6 netipsec netipx netnatm netncp \
netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
pci rpc security sys ufs vm ${ARCHDIR}
@ -25,15 +25,20 @@ SUBDIR+=modules
HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh`
# You need the devel/cscope port for this.
cscope: ${.CURDIR}/cscopenamefile
cd ${.CURDIR}; cscope -k -p4 -i cscopenamefile
cscope: cscope.out
cscope.out: ${.CURDIR}/cscope.files
cd ${.CURDIR}; cscope -k -buq -p4
${.CURDIR}/cscopenamefile:
cd ${.CURDIR}; find ${CSCOPEDIRS} -name "*.[csh]" > ${.TARGET}
${.CURDIR}/cscope.files: .PHONY
cd ${.CURDIR}; \
find ${CSCOPEDIRS} -name "*.[chSs]" -a -type f > ${.TARGET}
cscope-clean:
rm -f cscope.files cscope.out cscope.in.out cscope.po.out
# You need the devel/global and one of editor/emacs* ports for that.
TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscopenamefile
TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscope.files
rm -f ${.CURDIR}/TAGS
cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscopenamefile
cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscope.files
.include <bsd.subdir.mk>