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)