summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 12 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 19460a8..8dc859e 100644
--- a/Makefile
+++ b/Makefile
@@ -14,8 +14,19 @@ bpfbuild:
make -C ./internal/c redo
if [ ! -e ioriotng.bpf.o ]; then cp -v ./internal/c/ioriotng.bpf.o .; fi
+.PHONY: tracepoint_list.go
+tracepoint_list.go:
+ # Fetch tracepoint probes from C code and generate list for Go userland code to auto-attach to.
+ echo "// Auto-generated from C, don't change manually!" > ./internal/tracepoints/tracepoint_list.go
+ echo 'package tracepoints' >> ./internal/tracepoints/tracepoint_list.go
+ echo >> ./internal/tracepoints/tracepoint_list.go
+ echo 'var tracepointList = []string{' >> ./internal/tracepoints/tracepoint_list.go
+ sed -n -E '/^SEC.*sys_(enter|exit)_/ { s/[")]//g; s/.*sys_(.*)/\t"\1",/; p; }' \
+ ./internal/c/tracepoints/*.c >> ./internal/tracepoints/tracepoint_list.go
+ echo '}' >> ./internal/tracepoints/tracepoint_list.go
+
.PHONY: gobuild
-gobuild:
+gobuild: tracepoint_list.go
go build -tags netgo -ldflags '-w -extldflags "-static"' -o ioriotng ./cmd/ioriotng/main.go
.PHONY: clean