36 lines
778 B
Makefile
36 lines
778 B
Makefile
APP := ebpf
|
|
BPF_SRC := ebpf.c
|
|
BPF_OBJ := $(APP).bpf.o
|
|
SKEL := $(APP).skel.h
|
|
VMLINUX := vmlinux.h
|
|
|
|
CLANG := clang
|
|
BPFOOL := bpftool
|
|
|
|
CFLAGS := -O2 -g -Wall
|
|
BPF_CFLAGS := -O2 -g -Wall -target bpf -D__TARGET_ARCH_x86 -I/usr/include
|
|
|
|
LIBS := -lbpf -lelf -lz
|
|
|
|
.PHONY: all run clean
|
|
|
|
all: $(APP)
|
|
|
|
$(VMLINUX):
|
|
$(BPFOOL) btf dump file /sys/kernel/btf/vmlinux format c > $@
|
|
|
|
$(BPF_OBJ): $(BPF_SRC) $(VMLINUX)
|
|
$(CLANG) $(BPF_CFLAGS) -c $(BPF_SRC) -o $@
|
|
|
|
$(SKEL): $(BPF_OBJ)
|
|
$(BPFOOL) gen skeleton $< > $@
|
|
|
|
$(APP): main.c container_worker.c data_structure/list_entry.c thread_mon/thread_mon.c $(SKEL)
|
|
$(CLANG) $(CFLAGS) main.c container_worker.c data_structure/list_entry.c thread_mon/thread_mon.c $(LIBS) -o $@
|
|
|
|
run: $(APP)
|
|
sudo ./$(APP)
|
|
|
|
clean:
|
|
rm -f $(APP) *.o *.skel.h vmlinux.h
|