Hi, Alex, On Tue, Aug 03, 2021 at 11:18:36PM +0100, Alex Bennée wrote: > > Peter Xu <pet...@redhat.com> writes: > > > This patch fixes actually two issues with 'make cscope'. > > > > Firstly, it fixes the command for MacOS "find" command as MacOS will append > > the > > full path of "$(SRC_PATH)/" before each found entry, then after the final > > "./" > > replacement trick it'll look like (e.g., "qapi/qmp-dispatch.c"): > > > > /qapi/qmp-dispatch.c > > > > Which will point to the root directory instead. > > > > Fix it by simply remove the "/" in "$(SRC_PATH)/" of "find-src-path", then > > it'll work for at least both Linux and MacOS. > > > > The other OS-independent issue is to start proactively ignoring soft links > > when > > generating tags, otherwise by default on master branch we'll see this error > > when "make cscope": > > > > cscope: cannot find file subprojects/libvhost-user/include/atomic.h > > > > This patch should fix the two issues altogether. > > > > Signed-off-by: Peter Xu <pet...@redhat.com> > > --- > > Makefile | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/Makefile b/Makefile > > index 401c623a65..5562a9b464 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -229,7 +229,8 @@ distclean: clean > > rm -f linux-headers/asm > > rm -Rf .sdk > > > > -find-src-path = find "$(SRC_PATH)/" -path "$(SRC_PATH)/meson" -prune -o \( > > -name "*.[chsS]" -o -name "*.[ch].inc" \) > > +find-src-path = find "$(SRC_PATH)" -path "$(SRC_PATH)/meson" -prune -o \ > > + -type l -prune -o \( -name "*.[chsS]" -o -name "*.[ch].inc" \) > > The second half of the change causes my "make gtags" to descend down > build directories and complain about unindexed files.
Would this help? ---8<--- diff --git a/Makefile b/Makefile index 5562a9b464..eeb21f0e6a 100644 --- a/Makefile +++ b/Makefile @@ -251,7 +251,7 @@ gtags: "GTAGS", "Remove old $@ files") $(call quiet-command, \ (cd $(SRC_PATH) && \ - $(find-src-path) | gtags -f -), \ + $(find-src-path) -print | gtags -f -), \ "GTAGS", "Re-index $(SRC_PATH)") .PHONY: TAGS ---8<--- For some reason, "make gtags" didn't use "-print" as the last expression. My understanding is when expression is not specified, then it's default will be "-print". However for some reason it acts like that when "-print" is not there all the "-prone" expressions are not really behaving. Above does work for me, but frankly I don't really know enough on how "find" works here. If you agree, I can repost a v2 with that squashed. Thanks, -- Peter Xu