^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) top_srcdir = $(abspath ../../../..)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) APIDIR := $(top_scrdir)/include/uapi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) TEST_GEN_FILES = action.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) KSFT_KHDR_INSTALL := 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) include ../lib.mk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) CLANG ?= clang
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) LLC ?= llc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) ifeq ($(PROBE),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) CPU ?= probe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) CPU ?= generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) CLANG_SYS_INCLUDES := $(shell $(CLANG) -v -E - </dev/null 2>&1 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) CLANG_FLAGS = -I. -I$(APIDIR) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) $(CLANG_SYS_INCLUDES) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) -Wno-compare-distinct-pointer-types
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) $(OUTPUT)/%.o: %.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) $(CLANG) $(CLANG_FLAGS) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) -O2 -target bpf -emit-llvm -c $< -o - | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) TEST_PROGS += ./tdc.sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) TEST_FILES := tdc*.py Tdc*.py plugins plugin-lib tc-tests