GNU Linux-libre 4.19.245-gnu1
[releases.git] / tools / testing / selftests / tc-testing / bpf / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2
3 APIDIR := ../../../../include/uapi
4 TEST_GEN_FILES = action.o
5
6 top_srcdir = ../../../../..
7 include ../../lib.mk
8
9 CLANG ?= clang
10 LLC   ?= llc
11 PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1)
12
13 ifeq ($(PROBE),)
14   CPU ?= probe
15 else
16   CPU ?= generic
17 endif
18
19 CLANG_SYS_INCLUDES := $(shell $(CLANG) -v -E - </dev/null 2>&1 \
20         | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }')
21
22 CLANG_FLAGS = -I. -I$(APIDIR) \
23               $(CLANG_SYS_INCLUDES) \
24               -Wno-compare-distinct-pointer-types
25
26 $(OUTPUT)/%.o: %.c
27         $(CLANG) $(CLANG_FLAGS) \
28                  -O2 -target bpf -emit-llvm -c $< -o - |      \
29         $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@