github.phpd.cn/cilium/cilium@v1.6.12/test/bpf/Makefile (about)

     1  include ../../Makefile.defs
     2  
     3  FLAGS := -I../../bpf/ -I../../bpf/include -I. -D__NR_CPUS__=$(shell nproc) -O2
     4  BPF_CC_FLAGS :=  ${FLAGS} -target bpf -emit-llvm
     5  BPF_LLC_FLAGS   := -march=bpf -mcpu=probe -filetype=obj
     6  
     7  LIB := $(shell find ../../bpf/ -name '*.h')
     8  
     9  CLANG ?= $(QUIET) clang
    10  LLC ?= llc
    11  
    12  BPF_TARGETS := bpf-event-test.o elf-demo.o
    13  TARGETS := $(BPF_TARGETS) perf-event-test unit-test
    14  all: $(TARGETS)
    15  
    16  perf-event-test: perf-event-test.go
    17  	@$(ECHO_GO)
    18  	$(QUIET)$(GO) build $(GOBUILD) -o $@ $<
    19  
    20  bpf-event-test.o: bpf-event-test.c
    21  	@$(ECHO_CC)
    22  	$(CLANG) ${BPF_CC_FLAGS} -c $< -o - | $(LLC) ${BPF_LLC_FLAGS} -o $@
    23  
    24  elf-demo.o: elf-demo.c
    25  	@$(ECHO_CC)
    26  	$(CLANG) ${BPF_CC_FLAGS} -c $< -o - | $(LLC) ${BPF_LLC_FLAGS} -o $@
    27  
    28  %: %.c $(LIB)
    29  	@$(ECHO_CC)
    30  	$(CLANG) $(FLAGS) -I../../bpf/ $< -o $@
    31  
    32  clean:
    33  	@$(ECHO_CLEAN)
    34  	-$(QUIET)rm -f $(TARGETS)