diff options
author | Rui Paulo <rpaulo@FreeBSD.org> | 2014-05-15 03:47:52 +0000 |
---|---|---|
committer | Rui Paulo <rpaulo@FreeBSD.org> | 2014-05-15 03:47:52 +0000 |
commit | fb256796eb86a4e9efa252547c6f466a0297f475 (patch) | |
tree | 2fd68481fe41ce748dc42a908c2aaabc7d2c3152 /sys | |
parent | 17d15b251108ff09e632ed4812f7c66999a6b69b (diff) | |
download | src-fb256796eb86a4e9efa252547c6f466a0297f475.tar.gz src-fb256796eb86a4e9efa252547c6f466a0297f475.zip |
Add a new target cscope-hook.
This adds a Mercurial hook to automatically update the cscope data base every
time you pull, switch branch, or update.
Notes
Notes:
svn path=/head/; revision=266115
Diffstat (limited to 'sys')
-rw-r--r-- | sys/Makefile | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/Makefile b/sys/Makefile index 47fd4629fb07..fcb7e0a7c779 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -47,6 +47,25 @@ ${.CURDIR}/cscope.files: .PHONY cscope-clean: rm -f cscope.files cscope.out cscope.in.out cscope.po.out +# +# Installs SCM hooks to update the cscope database every time the source tree +# is updated. +# cscope understands incremental updates, so it's considerably faster when only +# a few files have changed. +# +HG_DIR=${.CURDIR}/../.hg +HG_HOOK=if [ \$$HG_ERROR -eq 0 ]; then cd sys && make -m ../share/mk cscope; fi +cscope-hook: + @if [ -d ${HG_DIR} ]; then \ + if [ "`grep hooks ${HG_DIR}/hgrc`" = "" ]; then \ + echo "[hooks]" >> ${HG_DIR}/hgrc; \ + echo "update = ${HG_HOOK}" >> ${HG_DIR}/hgrc; \ + echo "Hook installed in ${HG_DIR}/hgrc"; \ + else \ + echo "Mercurial update hook already exists."; \ + fi; \ + fi + # You need the devel/global and one of editor/emacs* ports for that. TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscope.files rm -f ${.CURDIR}/TAGS |