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
|
#
# Copyright (C) 2021 The Falco Authors.
#
# This file is dual licensed under either the MIT or GPL 2. See
# MIT.txt or GPL.txt for full copies of the license.
#
always-y += probe.o
# kept for compatibility with kernels < 5.11
always = $(always-y)
LLC ?= llc
CLANG ?= clang
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
# DEBUG = -DBPF_DEBUG
all:
$(MAKE) -C $(KERNELDIR) M=$$PWD
clean:
$(MAKE) -C $(KERNELDIR) M=$$PWD clean
@rm -f *~
$(obj)/probe.o: $(src)/probe.c \
$(src)/bpf_helpers.h \
$(src)/filler_helpers.h \
$(src)/fillers.h \
$(src)/maps.h \
$(src)/plumbing_helpers.h \
$(src)/quirks.h \
$(src)/ring_helpers.h \
$(src)/types.h
$(CLANG) $(LINUXINCLUDE) \
$(KBUILD_CPPFLAGS) \
$(KBUILD_EXTRA_CPPFLAGS) \
$(DEBUG) \
-D__KERNEL__ \
-D__BPF_TRACING__ \
-Wno-gnu-variable-sized-type-not-at-end \
-Wno-address-of-packed-member \
-fno-jump-tables \
-fno-stack-protector \
-Wno-tautological-compare \
-O2 -g -emit-llvm -c $< -o $(patsubst %.o,%.ll,$@)
$(LLC) -march=bpf -filetype=obj -o $@ $(patsubst %.o,%.ll,$@)
|