From 8a4ddf5184e11d75bef1d7d50374001f389b813e Mon Sep 17 00:00:00 2001 From: Christian Deacon Date: Sat, 22 Feb 2025 10:02:08 -0500 Subject: [PATCH] We don't need to specifically link LibBPF and LibXDP object files. --- Makefile | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 6d538c5..ac00dff 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,4 @@ CC = clang -LLC = llc - -ARCH := $(shell uname -m | sed 's/x86_64/x86/') # Top-level directories. BUILD_DIR = build @@ -27,18 +24,6 @@ LIBBPF_DIR = $(XDP_TOOLS_DIR)/lib/libbpf LIBBPF_SRC = $(LIBBPF_DIR)/src -# LibBPF objects. -LIBBPF_OBJS = $(LIBBPF_SRC)/staticobjs/bpf_prog_linfo.o $(LIBBPF_SRC)/staticobjs/bpf.o $(LIBBPF_SRC)/staticobjs/btf_dump.o -LIBBPF_OBJS += $(LIBBPF_SRC)/staticobjs/btf.o $(LIBBPF_SRC)/staticobjs/gen_loader.o $(LIBBPF_SRC)/staticobjs/hashmap.o -LIBBPF_OBJS += $(LIBBPF_SRC)/staticobjs/libbpf_errno.o $(LIBBPF_SRC)/staticobjs/libbpf_probes.o $(LIBBPF_SRC)/staticobjs/libbpf.o -LIBBPF_OBJS += $(LIBBPF_SRC)/staticobjs/linker.o $(LIBBPF_SRC)/staticobjs/netlink.o $(LIBBPF_SRC)/staticobjs/nlattr.o -LIBBPF_OBJS += $(LIBBPF_SRC)/staticobjs/relo_core.o $(LIBBPF_SRC)/staticobjs/ringbuf.o $(LIBBPF_SRC)/staticobjs/str_error.o -LIBBPF_OBJS += $(LIBBPF_SRC)/staticobjs/strset.o $(LIBBPF_SRC)/staticobjs/usdt.o $(LIBBPF_SRC)/staticobjs/zip.o - -# LibXDP objects. -# To Do: Figure out why static objects produces errors relating to unreferenced functions with dispatcher. -LIBXDP_OBJS = $(LIBXDP_DIR)/sharedobjs/xsk.o $(LIBXDP_DIR)/sharedobjs/libxdp.o - # Loader directories. LOADER_SRC = loader.c LOADER_OUT = xdpfw @@ -56,7 +41,7 @@ LOADER_UTILS_HELPERS_SRC = helpers.c LOADER_UTILS_HELPERS_OBJ = helpers.o # Loader objects. -LOADER_OBJS = $(LIBXDP_OBJS) $(LIBBPF_OBJS) $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CONFIG_OBJ) $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CMDLINE_OBJ) $(BUILD_LOADER_DIR)/$(LOADER_UTILS_HELPERS_OBJ) +LOADER_OBJS = $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CONFIG_OBJ) $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CMDLINE_OBJ) $(BUILD_LOADER_DIR)/$(LOADER_UTILS_HELPERS_OBJ) # XDP directories. XDP_SRC = prog.c @@ -73,21 +58,22 @@ XDP_UTILS_RL_OBJ = rl.o # Includes. INCS = -I $(SRC_DIR) -I $(LIBBPF_SRC) -I /usr/include -I /usr/local/include + # Flags. FLAGS = -O2 -g -FLAGS_LOADER = -lconfig -lelf -lz +FLAGS_LOADER = -lconfig -lelf -lz -lbpf -lxdp # All chains. all: loader xdp # Loader program. loader: libxdp loader_utils - $(CC) $(INCS) $(FLAGS) $(FLAGS_LOADER) -o $(BUILD_LOADER_DIR)/$(LOADER_OUT) $(LOADER_OBJS) $(LOADER_DIR)/$(LOADER_SRC) + $(CC) $(INCS) $(FLAGS) $(FLAGS_LOADER) -o $(BUILD_LOADER_DIR)/$(LOADER_OUT) $(LOADER_OBJS) $(LOADER_DIR)/$(LOADER_SRC) loader_utils: loader_utils_config loader_utils_cmdline loader_utils_helpers loader_utils_config: - $(CC) $(INCS) $(FLAGS) -c -o $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CONFIG_OBJ) $(LOADER_UTILS_DIR)/$(LOADER_UTILS_CONFIG_SRC) + $(CC) $(INCS) $(FLAGS) -c -o $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CONFIG_OBJ) $(LOADER_UTILS_DIR)/$(LOADER_UTILS_CONFIG_SRC) loader_utils_cmdline: $(CC) $(INCS) $(FLAGS) -c -o $(BUILD_LOADER_DIR)/$(LOADER_UTILS_CMDLINE_OBJ) $(LOADER_UTILS_DIR)/$(LOADER_UTILS_CMDLINE_SRC)