1# SPDX-License-Identifier: GPL-2.0 2 3APIDIR := ../../../../include/uapi 4TEST_GEN_FILES = action.o 5 6top_srcdir = ../../../../.. 7include ../../lib.mk 8 9CLANG ?= clang 10LLC ?= llc 11PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1) 12 13ifeq ($(PROBE),) 14 CPU ?= probe 15else 16 CPU ?= generic 17endif 18 19CLANG_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 22CLANG_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 $@ 30