Re: Makefile patch for cscope and saner Ctags

Pete Wyckoff (pw@osc.edu)
Thu, 31 May 2001 13:45:30 -0400


mark@somanetworks.com said:
> The following patch generates saner Ctags and will build cscope
> output. It's against 2.4.5
>
> --- Makefile.old Mon May 28 22:44:01 2001
> +++ Makefile Wed May 30 17:50:01 2001
> @@ -334,11 +334,32 @@
>
> # Exuberant ctags works better with -I
> tags: dummy
> - CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
> + CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "--sort=no -I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
> ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
> - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \
> + find include -type f -name '*.h' -mindepth 2 -maxdepth 2 \
> + | grep -v include/asm- | grep -v include/config \
> + | xargs -r ctags $$CTAGSF -a && \
> + find include -type f -name '*.h' -mindepth 3 -maxdepth 3 \
> + | grep -v include/asm- | grep -v include/config \
> + | xargs -r ctags $$CTAGSF -a && \
> + find include -type f -name '*.h' -mindepth 4 -maxdepth 4 \
> + | grep -v include/asm- | grep -v include/config \
> + | xargs -r ctags $$CTAGSF -a && \
> + find include -type f -name '*.h' -mindepth 5 -maxdepth 5 \
> + | grep -v include/asm- | grep -v include/config \
> + | xargs -r ctags $$CTAGSF -a && \
> find $(SUBDIRS) init -name '*.c' | xargs ctags $$CTAGSF -a
> + mv tags tags.unsorted
> + LC_ALL=C sort -k 1,1 -s tags.unsorted > tags
> + rm tags.unsorted
>
> +cscope: dummy
> + find include/asm-$(ARCH) -name '*.h' >cscope.files
> + find include $(SUBDIRS) init -type f -name '*.[ch]' \
> + | grep -v include/asm- | grep -v include/config >> cscope.files
> + cscope -b -I include
> +
> +
> ifdef CONFIG_MODULES
> ifdef CONFIG_MODVERSIONS
> MODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.h

You seem not to have read my response to your earlier mail proprosing
such a thing (for tags only, not cscope):

http://boudicca.tux.org/hypermail/linux-kernel/2001week21/1869.html

How does the patch above fix anything? You're sorting so that
include/linux/*.h comes before include/linux/{mtd,lockd,raid,...}/*.h,
but I don't see how that can be an improvement, or how it addresses
your original complaint "ctags doesn't honour any CPP #if'ing".

-- Pete
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/