diff options
author | Stanislav Fomichev <sdf@google.com> | 2019-03-06 14:59:26 -0500 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-03-07 04:44:32 -0500 |
commit | e78e00bd478a43ee01db726ce488424a371e8684 (patch) | |
tree | 531ce58a6cfcb3c6d9aad29f14b068f277ab305b /tools | |
parent | 17a90a78847324b1a34b0de833492cbd2366361d (diff) |
selftests: bpf: fix compilation with out-of-tree $(OUTPUT)
A bunch of related changes lumped together:
* Create prog_tests and verifier output directories; these don't exist with
out-of-tree $(OUTPUT)
* Add missing -I (via separate TEST_{PROGS,VERIFIER}_CFLAGS) for the main tree
($(PWD) != $(OUTPUT) for out-of-tree)
* Add libbpf.a dependency for test_progs_32 (parallel make fails otherwise)
* Add missing "; \" after "cd" when generating test.h headers
Tested by:
$ alias m="make -s -j$(nproc)"
$ m -C tools/testing/selftests/bpf/ clean
$ m -C tools/lib/bpf/ clean
$ rm -rf xxx; mkdir xxx; m -C tools/testing/selftests/bpf/ OUTPUT=$PWD/xxx
$ m -C tools/testing/selftests/bpf/
Fixes: 3f30658830f3 ("selftests: bpf: break up test_progs - preparations")
Fixes: 2dfb40121ee8 ("selftests: bpf: prepare for break up of verifier tests")
Fixes: 3ef84346c561 ("selftests: bpf: makefile support sub-register code-gen test mode")
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/bpf/Makefile | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index 518cd587cd63..2aed37ea61a4 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile | |||
@@ -153,6 +153,9 @@ endif | |||
153 | endif | 153 | endif |
154 | endif | 154 | endif |
155 | 155 | ||
156 | TEST_PROGS_CFLAGS := -I. -I$(OUTPUT) | ||
157 | TEST_VERIFIER_CFLAGS := -I. -I$(OUTPUT) -Iverifier | ||
158 | |||
156 | ifneq ($(SUBREG_CODEGEN),) | 159 | ifneq ($(SUBREG_CODEGEN),) |
157 | ALU32_BUILD_DIR = $(OUTPUT)/alu32 | 160 | ALU32_BUILD_DIR = $(OUTPUT)/alu32 |
158 | TEST_CUSTOM_PROGS += $(ALU32_BUILD_DIR)/test_progs_32 | 161 | TEST_CUSTOM_PROGS += $(ALU32_BUILD_DIR)/test_progs_32 |
@@ -162,13 +165,15 @@ $(ALU32_BUILD_DIR): | |||
162 | $(ALU32_BUILD_DIR)/urandom_read: $(OUTPUT)/urandom_read | 165 | $(ALU32_BUILD_DIR)/urandom_read: $(OUTPUT)/urandom_read |
163 | cp $< $@ | 166 | cp $< $@ |
164 | 167 | ||
165 | $(ALU32_BUILD_DIR)/test_progs_32: test_progs.c $(ALU32_BUILD_DIR) \ | 168 | $(ALU32_BUILD_DIR)/test_progs_32: test_progs.c $(OUTPUT)/libbpf.a\ |
169 | $(ALU32_BUILD_DIR) \ | ||
166 | $(ALU32_BUILD_DIR)/urandom_read | 170 | $(ALU32_BUILD_DIR)/urandom_read |
167 | $(CC) $(CFLAGS) -o $(ALU32_BUILD_DIR)/test_progs_32 $< \ | 171 | $(CC) $(TEST_PROGS_CFLAGS) $(CFLAGS) \ |
168 | trace_helpers.c prog_tests/*.c $(OUTPUT)/libbpf.a $(LDLIBS) | 172 | -o $(ALU32_BUILD_DIR)/test_progs_32 \ |
173 | test_progs.c trace_helpers.c prog_tests/*.c \ | ||
174 | $(OUTPUT)/libbpf.a $(LDLIBS) | ||
169 | 175 | ||
170 | $(ALU32_BUILD_DIR)/test_progs_32: $(PROG_TESTS_H) | 176 | $(ALU32_BUILD_DIR)/test_progs_32: $(PROG_TESTS_H) |
171 | $(ALU32_BUILD_DIR)/test_progs_32: CFLAGS += -I$(OUTPUT) | ||
172 | $(ALU32_BUILD_DIR)/test_progs_32: prog_tests/*.c | 177 | $(ALU32_BUILD_DIR)/test_progs_32: prog_tests/*.c |
173 | 178 | ||
174 | $(ALU32_BUILD_DIR)/%.o: progs/%.c $(ALU32_BUILD_DIR) \ | 179 | $(ALU32_BUILD_DIR)/%.o: progs/%.c $(ALU32_BUILD_DIR) \ |
@@ -202,12 +207,16 @@ endif | |||
202 | 207 | ||
203 | PROG_TESTS_H := $(OUTPUT)/prog_tests/tests.h | 208 | PROG_TESTS_H := $(OUTPUT)/prog_tests/tests.h |
204 | $(OUTPUT)/test_progs: $(PROG_TESTS_H) | 209 | $(OUTPUT)/test_progs: $(PROG_TESTS_H) |
205 | $(OUTPUT)/test_progs: CFLAGS += -I$(OUTPUT) | 210 | $(OUTPUT)/test_progs: CFLAGS += $(TEST_PROGS_CFLAGS) |
206 | $(OUTPUT)/test_progs: prog_tests/*.c | 211 | $(OUTPUT)/test_progs: prog_tests/*.c |
207 | 212 | ||
213 | PROG_TESTS_DIR = $(OUTPUT)/prog_tests | ||
214 | $(PROG_TESTS_DIR): | ||
215 | mkdir -p $@ | ||
216 | |||
208 | PROG_TESTS_FILES := $(wildcard prog_tests/*.c) | 217 | PROG_TESTS_FILES := $(wildcard prog_tests/*.c) |
209 | $(PROG_TESTS_H): $(PROG_TESTS_FILES) | 218 | $(PROG_TESTS_H): $(PROG_TESTS_DIR) $(PROG_TESTS_FILES) |
210 | $(shell ( cd prog_tests/ | 219 | $(shell ( cd prog_tests/; \ |
211 | echo '/* Generated header, do not edit */'; \ | 220 | echo '/* Generated header, do not edit */'; \ |
212 | echo '#ifdef DECLARE'; \ | 221 | echo '#ifdef DECLARE'; \ |
213 | ls *.c 2> /dev/null | \ | 222 | ls *.c 2> /dev/null | \ |
@@ -221,11 +230,15 @@ $(PROG_TESTS_H): $(PROG_TESTS_FILES) | |||
221 | 230 | ||
222 | VERIFIER_TESTS_H := $(OUTPUT)/verifier/tests.h | 231 | VERIFIER_TESTS_H := $(OUTPUT)/verifier/tests.h |
223 | $(OUTPUT)/test_verifier: $(VERIFIER_TESTS_H) | 232 | $(OUTPUT)/test_verifier: $(VERIFIER_TESTS_H) |
224 | $(OUTPUT)/test_verifier: CFLAGS += -I$(OUTPUT) | 233 | $(OUTPUT)/test_verifier: CFLAGS += $(TEST_VERIFIER_CFLAGS) |
234 | |||
235 | VERIFIER_TESTS_DIR = $(OUTPUT)/verifier | ||
236 | $(VERIFIER_TESTS_DIR): | ||
237 | mkdir -p $@ | ||
225 | 238 | ||
226 | VERIFIER_TEST_FILES := $(wildcard verifier/*.c) | 239 | VERIFIER_TEST_FILES := $(wildcard verifier/*.c) |
227 | $(OUTPUT)/verifier/tests.h: $(VERIFIER_TEST_FILES) | 240 | $(OUTPUT)/verifier/tests.h: $(VERIFIER_TESTS_DIR) $(VERIFIER_TEST_FILES) |
228 | $(shell ( cd verifier/ | 241 | $(shell ( cd verifier/; \ |
229 | echo '/* Generated header, do not edit */'; \ | 242 | echo '/* Generated header, do not edit */'; \ |
230 | echo '#ifdef FILL_ARRAY'; \ | 243 | echo '#ifdef FILL_ARRAY'; \ |
231 | ls *.c 2> /dev/null | \ | 244 | ls *.c 2> /dev/null | \ |