github.com/cilium/cilium@v1.16.2/test/bpf/Makefile (about) 1 # Copyright Authors of Cilium 2 # SPDX-License-Identifier: Apache-2.0 3 4 include ../../Makefile.defs 5 include ../../Makefile.quiet 6 7 FLAGS := -I../../bpf/ -I../../bpf/include -I. -D__NR_CPUS__=$(shell nproc --all) -O2 -Werror 8 FLAGS_CLANG := -Wall -Wextra -Werror -Wshadow -Wno-unused-parameter 9 FLAGS_CLANG += -Wno-address-of-packed-member 10 FLAGS_CLANG += -Wno-unknown-warning-option 11 FLAGS_CLANG += -Wno-gnu-variable-sized-type-not-at-end 12 FLAGS_CLANG += -Wdeclaration-after-statement 13 FLAGS_CLANG += -g 14 15 BPF_CC_FLAGS := ${FLAGS} --target=bpf -mcpu=probe -std=gnu89 -nostdinc 16 17 LIB := $(shell find ../../bpf/ -name '*.h') 18 19 CLANG ?= clang 20 21 BPF_TARGETS := elf-demo.o 22 ALL_TESTS := unit-test 23 TARGETS := $(BPF_TARGETS) $(ALL_TESTS) 24 25 all: $(TARGETS) unit-tests 26 27 elf-demo.o: elf-demo.c 28 @$(ECHO_CC) 29 $(QUIET) $(CLANG) ${FLAGS_CLANG} ${BPF_CC_FLAGS} -c $< -o $@ 30 31 %: %.c $(LIB) 32 @$(ECHO_CC) 33 $(QUIET) $(CLANG) ${FLAGS_CLANG} ${FLAGS} -I../../bpf/ $< -o $@ 34 35 unit-tests: $(ALL_TESTS) 36 @$(ECHO_CHECK) 37 for test in $^; do \ 38 $(ECHO_CHECK) $$test; \ 39 $(ROOT_DIR)/$(RELATIVE_DIR)/$$test; \ 40 done 41 42 clean: 43 @$(ECHO_CLEAN) 44 -$(QUIET)rm -f $(TARGETS)