PATCH Makefile, Make 'cscope -q' play well with cscope.el

From: Karl Hegbloom
Date: Sun Jun 19 2005 - 02:51:59 EST


LinuxVersion: 2.6-git 2005/06/19

I tried the Linux Makefile 'make cscope' target, and found that the
generated database is not compatible with 'cscope.el' under XEmacs.
The thing is that 'cscope.el' does not allow setting the command line
options to the 'cscope' commands it runs, and it errors with a message
about the options not matching the ones used to generate the index.

It turns out the cscope designers already thought of this. The
options can be written into the "cscope.files". The included patch
moves the "-q" and "-k" options from the 'cmd_cscope' to the
'cmd_cscope-file', echoing them into the top of the files listing.

Now the index is generated with the "-q" option, and when 'cscope.el'
performs it's search, it uses that argument as well. Lookups are fast
and everyone is happy.


diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1173,10 +1173,10 @@ define all-sources
endef

quiet_cmd_cscope-file = FILELST cscope.files
- cmd_cscope-file = $(all-sources) > cscope.files
+ cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files

quiet_cmd_cscope = MAKE cscope.out
- cmd_cscope = cscope -k -b -q
+ cmd_cscope = cscope -b

cscope: FORCE
$(call cmd,cscope-file)


I sent a previous patch for this, but it is wrong, since I had placed
the 'echo' statements directly inside of 'all-sources'. If
'all-sources' is used anyplace else in the Makefile, that would lead
to file not found errors. This patch corrects that mistake.


[ I am not currently a subscriber to LKML. ]
--
Karl Hegbloom <hegbloom@xxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/