Use Clang to compile BPF object/program.

This commit is contained in:
gamemann
2021-11-12 20:30:34 +00:00
parent 56831eed67
commit d787114a9f

View File

@@ -1,4 +1,5 @@
CC = clang
ARCH := $(shell uname -m | sed 's/x86_64/x86/')
BUILDDIR = build
SRCDIR = src
@@ -20,7 +21,6 @@ XDPFWSRC = xdpfw.c
XDPFWOUT = xdpfw
XDPPROGSRC = xdpfw_kern.c
XDPPROGBC = xdpfw_kern.bc
XDPPROGOBJ = xdpfw_kern.o
OBJS = $(BUILDDIR)/$(CONFIGOBJ) $(BUILDDIR)/$(CMDLINEOBJ)
@@ -34,8 +34,7 @@ xdpfw: utils libbpf $(OBJS)
$(CC) $(LDFLAGS) $(INCS) -o $(BUILDDIR)/$(XDPFWOUT) $(LIBBPFOBJS) $(OBJS) $(SRCDIR)/$(XDPFWSRC)
xdpfw_filter:
mkdir -p $(BUILDDIR)/
$(CC) $(INCS) -D__BPF__ -Wall -Wextra -O2 -emit-llvm -c -o $(BUILDDIR)/$(XDPPROGBC) $(SRCDIR)/$(XDPPROGSRC)
llc -march=bpf -filetype=obj -o $(BUILDDIR)/$(XDPPROGOBJ) $(BUILDDIR)/$(XDPPROGBC)
$(CC) $(INCS) -D__BPF__ -O2 -target bpf -D__TARGET_ARCH_$(ARCH) -c -o $(BUILDDIR)/$(XDPPROGOBJ) $(SRCDIR)/$(XDPPROGSRC)
utils:
mkdir -p $(BUILDDIR)/
$(CC) -O2 -c -o $(BUILDDIR)/$(CONFIGOBJ) $(SRCDIR)/$(CONFIGSRC)