• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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