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