From: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: bpf <bpf@vger.kernel.org>, Jiri Benc <jbenc@redhat.com>,
Jiri Olsa <jolsa@redhat.com>, Andrii Nakryiko <andriin@fb.com>,
Daniel Borkmann <daniel@iogearbox.net>
Subject: Re: [PATCH] selftests/bpf: split -extras target to -static and -gen
Date: Wed, 27 May 2020 08:21:08 +0300 [thread overview]
Message-ID: <xunya71uosvv.fsf@redhat.com> (raw)
In-Reply-To: <CAEf4BzZaCTDT6DcLYvyFr4RUUm4fFbyb743e1JrEp2DS69cbug@mail.gmail.com> (Andrii Nakryiko's message of "Tue, 26 May 2020 17:19:18 -0700")
Hi, Andrii!
>>>>> On Tue, 26 May 2020 17:19:18 -0700, Andrii Nakryiko wrote:
> On Fri, May 22, 2020 at 1:19 AM Yauheni Kaliuta
> <yauheni.kaliuta@redhat.com> wrote:
>>
>> There is difference in depoying static and generated extra resource
>> files between in/out of tree build and flavors:
>>
>> - in case of unflavored out-of-tree build static files are not
>> available and must be copied as well as both static and generated
>> files for flavored build.
>>
>> So split the rules and variables. The name TRUNNER_EXTRA_GEN_FILES
>> is chosen in analogy to TEST_GEN_* variants.
>>
> Can we keep them together but be smarter about what needs to
> be copied based on source/target directories? I would really
> like to not blow up all these rules.
I can try, ok, I just find it a bit more clear. But it's good to
get some input from kselftest about OOT build in general.
>> Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
>> ---
>> tools/testing/selftests/bpf/Makefile | 26 ++++++++++++++++++++++----
>> 1 file changed, 22 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
>> index 26497d8869ea..c80c06272759 100644
>> --- a/tools/testing/selftests/bpf/Makefile
>> +++ b/tools/testing/selftests/bpf/Makefile
>> @@ -363,12 +363,28 @@ $(TRUNNER_EXTRA_OBJS): $(TRUNNER_OUTPUT)/%.o: \
>> $$(call msg,EXT-OBJ,$(TRUNNER_BINARY),$$@)
>> $$(CC) $$(CFLAGS) -c $$< $$(LDLIBS) -o $$@
>>
>> -# only copy extra resources if in flavored build
>> -$(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT)
>> -ifneq ($2,)
>> +# copy extra resources when needed.
>> +# Static files for both out of tree and flavored (so, not current dir).
>> +# Generated files for flavored only.
>> +$(TRUNNER_BINARY)-extras: $(TRUNNER_BINARY)-extras-static \
>> + $(TRUNNER_BINARY)-extras-gen
>> +
>> +$(TRUNNER_BINARY)-extras-static: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT)
>> +ifneq ($(CURDIR)),$(realpath $(TRUNNER_OUTPUT)))
>> $$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_FILES))
>> +ifneq ($(TRUNNER_EXTRA_FILES),)
>> cp -a $$^ $(TRUNNER_OUTPUT)/
>> endif
>> +endif
>> +
>> +$(TRUNNER_BINARY)-extras-gen: $(addprefix $(OUTPUT)/,$(TRUNNER_EXTRA_GEN_FILES)) \
>> + | $(TRUNNER_OUTPUT)
>> +ifneq ($2,)
>> + $$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_GEN_FILES))
>> +ifneq ($(TRUNNER_EXTRA_GEN_FILES),)
>> + cp -a $$^ $(TRUNNER_OUTPUT)/
>> +endif
>> +endif
>>
>> $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS) \
>> $(TRUNNER_EXTRA_OBJS) $$(BPFOBJ) \
>> @@ -384,7 +400,8 @@ TRUNNER_BPF_PROGS_DIR := progs
>> TRUNNER_EXTRA_SOURCES := test_progs.c cgroup_helpers.c trace_helpers.c \
>> network_helpers.c testing_helpers.c \
>> flow_dissector_load.h
>> -TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(BTF_C_FILES)
>> +TRUNNER_EXTRA_FILES := $(BTF_C_FILES)
>> +TRUNNER_EXTRA_GEN_FILES := urandom_read
>> TRUNNER_BPF_BUILD_RULE := CLANG_BPF_BUILD_RULE
>> TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS)
>> TRUNNER_BPF_LDFLAGS := -mattr=+alu32
>> @@ -408,6 +425,7 @@ TRUNNER_TESTS_DIR := map_tests
>> TRUNNER_BPF_PROGS_DIR := progs
>> TRUNNER_EXTRA_SOURCES := test_maps.c
>> TRUNNER_EXTRA_FILES :=
>> +TRUNNER_EXTRA_GEN_FILES :=
>> TRUNNER_BPF_BUILD_RULE := $$(error no BPF objects should be built)
>> TRUNNER_BPF_CFLAGS :=
>> TRUNNER_BPF_LDFLAGS :=
>> --
>> 2.26.2
>>
--
WBR,
Yauheni Kaliuta
next prev parent reply other threads:[~2020-05-27 5:21 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-22 4:13 [PATCH 0/8] selftests/bpf: installation and out of tree build fixes Yauheni Kaliuta
2020-05-22 4:13 ` [PATCH 1/8] selftests/bpf: remove test_align from Makefile Yauheni Kaliuta
2020-05-26 22:13 ` Andrii Nakryiko
2020-05-22 4:13 ` [PATCH 2/8] selftests/bpf: build bench.o for any $(OUTPUT) Yauheni Kaliuta
2020-05-26 22:13 ` Andrii Nakryiko
2020-05-27 4:54 ` Yauheni Kaliuta
2020-05-22 4:13 ` [PATCH 3/8] selftests/bpf: install btf .c files Yauheni Kaliuta
2020-05-22 4:13 ` [PATCH 4/8] selftests/bpf: fix object files installation Yauheni Kaliuta
2020-05-26 22:30 ` Andrii Nakryiko
2020-05-27 5:17 ` Yauheni Kaliuta
2020-05-28 18:39 ` Andrii Nakryiko
2020-05-28 18:46 ` Yauheni Kaliuta
2020-05-22 4:13 ` [PATCH 5/8] selftests/bpf: add output dir to include list Yauheni Kaliuta
2020-05-26 22:13 ` Andrii Nakryiko
2020-05-22 4:13 ` [PATCH 6/8] selftests/bpf: fix urandom_read installation Yauheni Kaliuta
2020-05-26 22:13 ` Andrii Nakryiko
2020-05-22 4:13 ` [PATCH 7/8] selftests/bpf: fix test.h placing for out of tree build Yauheni Kaliuta
2020-05-26 22:26 ` Andrii Nakryiko
2020-05-27 5:06 ` Yauheni Kaliuta
2020-05-22 4:13 ` [PATCH 8/8] selftests/bpf: factor out MKDIR rule Yauheni Kaliuta
2020-05-26 22:29 ` Andrii Nakryiko
2020-05-27 5:07 ` Yauheni Kaliuta
2020-05-22 6:40 ` [PATCH 0/8] selftests/bpf: installation and out of tree build fixes Yauheni Kaliuta
2020-05-22 8:19 ` [PATCH] selftests/bpf: split -extras target to -static and -gen Yauheni Kaliuta
2020-05-27 0:19 ` Andrii Nakryiko
2020-05-27 5:21 ` Yauheni Kaliuta [this message]
2020-05-27 5:37 ` Alexei Starovoitov
2020-05-27 7:19 ` Yauheni Kaliuta
2020-05-27 16:48 ` Alexei Starovoitov
2020-05-27 17:02 ` Yauheni Kaliuta
2020-05-27 17:05 ` Alexei Starovoitov
2020-05-27 22:01 ` shuah
2020-05-27 22:23 ` Alexei Starovoitov
2020-05-28 8:05 ` Jiri Benc
2020-05-28 10:56 ` Greg KH
2020-05-28 16:14 ` Alexei Starovoitov
2020-05-28 17:07 ` Shuah Khan
2020-05-28 18:15 ` Alexei Starovoitov
2020-05-28 18:29 ` Yauheni Kaliuta
2020-05-28 18:34 ` Alexei Starovoitov
2020-05-28 19:05 ` Shuah Khan
2020-05-28 18:59 ` Shuah Khan
2020-05-28 19:18 ` Alexei Starovoitov
2020-05-28 20:09 ` Shuah Khan
2020-05-28 22:47 ` Shuah Khan
2020-05-28 17:10 ` Yauheni Kaliuta
2020-05-28 18:17 ` Alexei Starovoitov
2020-05-28 19:09 ` Shuah Khan
2020-05-28 19:20 ` Yauheni Kaliuta
2020-05-28 19:34 ` Shuah Khan
2020-05-26 21:48 ` [PATCH 0/8] selftests/bpf: installation and out of tree build fixes Daniel Borkmann
2020-05-27 4:45 ` Yauheni Kaliuta
2020-05-26 22:32 ` Andrii Nakryiko
2020-05-27 4:52 ` Yauheni Kaliuta
2020-05-27 5:04 ` Andrii Nakryiko
2020-05-27 7:25 ` Yauheni Kaliuta
2020-05-27 8:05 ` Yauheni Kaliuta
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=xunya71uosvv.fsf@redhat.com \
--to=yauheni.kaliuta@redhat.com \
--cc=andrii.nakryiko@gmail.com \
--cc=andriin@fb.com \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=jbenc@redhat.com \
--cc=jolsa@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).