-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
51 lines (39 loc) · 1.37 KB
/
Makefile
File metadata and controls
51 lines (39 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.PHONY: all clean generate insmod rmmod module-reload module-logs trace-pipe run-ebpftracer setup
KERNEL_DIR := kernel
KERNEL_VERSION := v6.11
.PHONY: all
all: generate
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD)/$(KERNEL_DIR) EXTRA_CFLAGS="-I$(PWD)/$(KERNEL_DIR)" modules
.PHONY: clean
clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD)/$(KERNEL_DIR) clean
@rm -f ebpftracer/tracer/*.o
.PHONY: generate
generate:
@cd ebpftracer && go generate ./...
.PHONY: insmod
insmod:
@sudo insmod $(KERNEL_DIR)/filewatcher.ko
.PHONY: rmmod
rmmod:
@sudo rmmod filewatcher
.PHONY: module-reload
module-reload: all rmmod insmod
.PHONY: module-logs
module-logs:
@sudo dmesg -T --follow | grep filewatcher
.PHONY: trace-pipe
trace-pipe:
@echo 1 | sudo tee /sys/kernel/tracing/events/filewatcher/file_created/enable > /dev/null
@sudo cat /sys/kernel/tracing/trace_pipe | grep file_created
.PHONY: run-ebpftracer
run-ebpftracer:
@sudo go run ./ebpftracer/cmd || true
.PHONY: setup
setup:
@sudo apt install -y build-essential linux-headers-$(uname -r) clang llvm libbpf-dev flex bison golang-go
@go install github.com/cilium/ebpf/cmd/bpf2go@v0.19.0
.PHONY: setup-dev-env
setup-dev-env:
@test -d ./linux || git clone --depth=1 --branch $(KERNEL_VERSION) https://github.com/torvalds/linux.git ./linux
@cd ./linux && make tinyconfig && make && cd tools/lib/bpf && make