ebpf_exporter

Форк
0
33 строки · 1.2 Кб
1
.DEFAULT_GOAL := build
2

3
CC := clang
4

5
ARCH := $(shell uname -m | sed -e 's/x86_64/x86/' -e 's/aarch64/arm64/')
6

7
SRC = ${wildcard *.bpf.c}
8
OBJ = ${patsubst %.bpf.c, %.bpf.o, $(SRC)}
9
HDR = ${wildcard *.h}
10

11
# From https://github.com/libbpf/libbpf-bootstrap/blob/a7c0f7e4a28/examples/c/Makefile#L34-L43
12
# Get Clang's default includes on this system. We'll explicitly add these dirs
13
# to the includes list when compiling with `-target bpf` because otherwise some
14
# architecture-specific dirs will be "missing" on some architectures/distros -
15
# headers such as asm/types.h, asm/byteorder.h, asm/socket.h, asm/sockios.h,
16
# sys/cdefs.h etc. might be missing.
17
#
18
# Use '-idirafter': Don't interfere with include mechanics except where the
19
# build would have failed anyways.
20
CLANG_BPF_SYS_INCLUDES = $(shell $(CC) -v -E - </dev/null 2>&1 \
21
	| sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }')
22

23
include ../Makefile.libbpf
24

25
$(OBJ): %.bpf.o: %.bpf.c $(HDR) ../include/$(ARCH)/vmlinux.h $(LIBBPF_DEPS)
26
	$(CC) -mcpu=v3 -g -O2 -Wall -Werror -D__TARGET_ARCH_$(ARCH) $(CFLAGS) $(CLANG_BPF_SYS_INCLUDES) -I../include/$(ARCH) $(LIBBPF_CFLAGS) -c -target bpf $< -o $@
27

28
.PHONY: clean
29
clean:
30
	rm -f *.o
31

32
.PHONY: build
33
build: $(OBJ)
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.