kbuild: a better way to generate cscope database change
Denis ChengRq [Mon, 4 Aug 2008 01:51:40 +0000 (09:51 +0800)]
It's a problem about cscope target of kernel Makefile, and the cscope
plugin of emacs:
1. `make cscope` will generate cscope.files cscope.{in,po,}.out;
2. the cscope plugin expect a cscope.out.{in,po,};
3. the default `cscope -b` would generate cscope.{in,po,}.out;

There are three approach to solve it:
1. modify the cscope C code;
2. modify the cscope emacs plugin lisp code;
3. modify the Makefile;

I have tried to communicate with the cscope upstream, but later I
realize the third approach is most meaningful.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Makefile

index 343ec47..f3e2065 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1492,7 +1492,7 @@ quiet_cmd_cscope-file = FILELST cscope.files
       cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files
 
 quiet_cmd_cscope = MAKE    cscope.out
-      cmd_cscope = cscope -b
+      cmd_cscope = cscope -b -f cscope.out
 
 cscope: FORCE
        $(call cmd,cscope-file)