All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <ast@fb.com>, Andrii Nakryiko <andriin@fb.com>,
	bpf <bpf@vger.kernel.org>, Networking <netdev@vger.kernel.org>
Subject: Re: [PATCH bpf-next] libbpf: Add cscope and TAGS targets to Makefile
Date: Fri, 04 Oct 2019 11:27:26 +0200	[thread overview]
Message-ID: <87r23soo75.fsf@toke.dk> (raw)
In-Reply-To: <CAEf4BzZpksMGZhggHd=wHVStrN9Wb8RRw-PyDm7fGL3A7YSXdQ@mail.gmail.com>

Andrii Nakryiko <andrii.nakryiko@gmail.com> writes:

> On Thu, Oct 3, 2019 at 1:46 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>>
>> Using cscope and/or TAGS files for navigating the source code is useful.
>> Add simple targets to the Makefile to generate the index files for both
>> tools.
>>
>> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
>> ---
>
> Thanks a lot for adding this!
>
> I tested cscope only and it works (especially without -k), so:
>
> Tested-by: Andrii Nakryiko <andriin@fb.com>
>
>
>>  tools/lib/bpf/.gitignore |  2 ++
>>  tools/lib/bpf/Makefile   | 10 +++++++++-
>>  2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/lib/bpf/.gitignore b/tools/lib/bpf/.gitignore
>> index d9e9dec04605..c1057c01223e 100644
>> --- a/tools/lib/bpf/.gitignore
>> +++ b/tools/lib/bpf/.gitignore
>> @@ -3,3 +3,5 @@ libbpf.pc
>>  FEATURE-DUMP.libbpf
>>  test_libbpf
>>  libbpf.so.*
>> +TAGS
>> +cscope.*
>> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
>> index c6f94cffe06e..57df6b933196 100644
>> --- a/tools/lib/bpf/Makefile
>> +++ b/tools/lib/bpf/Makefile
>> @@ -262,7 +262,7 @@ clean:
>>
>>
>>
>> -PHONY += force elfdep bpfdep
>> +PHONY += force elfdep bpfdep cscope TAGS
>>  force:
>>
>>  elfdep:
>> @@ -271,6 +271,14 @@ elfdep:
>>  bpfdep:
>>         @if [ "$(feature-bpf)" != "1" ]; then echo "BPF API too old"; exit 1 ; fi
>>
>> +cscope:
>> +       (echo \-k; echo \-q; for f in *.c *.h; do echo $$f; done) > cscope.files
>> +       cscope -b -f cscope.out
>
> 1. I'd drop -k, given libbpf is user-land library, so it's convenient
> to jump into system headers for some of BPF definitions.

Well, the reason I included it was that when using the version in the
kernel tree, I found it really annoying to jump to kernel headers
installed in the system. Then I'd rather the jump fails and I can go
lookup the header in the kernel tree myself.

So maybe we should rather use -I to point at the parent directory? You
guys could then strip that when syncing to the github repo?

> 2. Wouldn't this be simpler and work exactly the same?
>
> ls *.c *.h > cscope.files
> cscope -b -q -f cscope.out

Well, I usually avoid 'ls' because I have it aliased in my shell so it
prints more info than just the file names. But I don't suppose that's an
issue inside the Makefile, so will fix :)

>> +
>> +TAGS:
>
> let's make it lower-case, please? Linux makefile supports both `make
> tags` and `make TAGS`, but all-caps is terrible :)

You mean just rename the 'make' target, right? Sure, can do...

As for the file itself, I think the version actually on what you use to
generate the tags file. 'ctags' generates lower-case 'tags' by default,
while 'etags' generates 'TAGS'.

I don't use either, so dunno why that different exists, and if it's
actually meaningful? Should we do both?

>> +       rm -f TAGS
>> +       echo *.c *.h | xargs etags -a
>
> nit: might as well do ls *.c *.h for consistency with cscope
> suggestion above (though in both cases we just rely on shell expansion
> logic, so doesn't matter).

Heh, pedantic much? ;)
But OK, I have no strong feelings one way or the other...

-Toke


  reply	other threads:[~2019-10-04  9:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03  8:43 [PATCH bpf-next] libbpf: Add cscope and TAGS targets to Makefile Toke Høiland-Jørgensen
2019-10-03 17:14 ` Andrii Nakryiko
2019-10-04  9:27   ` Toke Høiland-Jørgensen [this message]
2019-10-04 14:36     ` Andrii Nakryiko
2019-10-04 14:39       ` Andrii Nakryiko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r23soo75.fsf@toke.dk \
    --to=toke@redhat.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andriin@fb.com \
    --cc=ast@fb.com \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.