summaryrefslogtreecommitdiff
path: root/vendor/github.com/cilium/ebpf/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/cilium/ebpf/Makefile')
-rw-r--r--vendor/github.com/cilium/ebpf/Makefile110
1 files changed, 0 insertions, 110 deletions
diff --git a/vendor/github.com/cilium/ebpf/Makefile b/vendor/github.com/cilium/ebpf/Makefile
deleted file mode 100644
index 2d5f04c37..000000000
--- a/vendor/github.com/cilium/ebpf/Makefile
+++ /dev/null
@@ -1,110 +0,0 @@
-# The development version of clang is distributed as the 'clang' binary,
-# while stable/released versions have a version number attached.
-# Pin the default clang to a stable version.
-CLANG ?= clang-14
-STRIP ?= llvm-strip-14
-OBJCOPY ?= llvm-objcopy-14
-CFLAGS := -O2 -g -Wall -Werror $(CFLAGS)
-
-CI_KERNEL_URL ?= https://github.com/cilium/ci-kernels/raw/master/
-
-# Obtain an absolute path to the directory of the Makefile.
-# Assume the Makefile is in the root of the repository.
-REPODIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
-UIDGID := $(shell stat -c '%u:%g' ${REPODIR})
-
-# Prefer podman if installed, otherwise use docker.
-# Note: Setting the var at runtime will always override.
-CONTAINER_ENGINE ?= $(if $(shell command -v podman), podman, docker)
-CONTAINER_RUN_ARGS ?= $(if $(filter ${CONTAINER_ENGINE}, podman), --log-driver=none, --user "${UIDGID}")
-
-IMAGE := $(shell cat ${REPODIR}/testdata/docker/IMAGE)
-VERSION := $(shell cat ${REPODIR}/testdata/docker/VERSION)
-
-
-# clang <8 doesn't tag relocs properly (STT_NOTYPE)
-# clang 9 is the first version emitting BTF
-TARGETS := \
- testdata/loader-clang-7 \
- testdata/loader-clang-9 \
- testdata/loader-$(CLANG) \
- testdata/btf_map_init \
- testdata/invalid_map \
- testdata/raw_tracepoint \
- testdata/invalid_map_static \
- testdata/invalid_btf_map_init \
- testdata/strings \
- testdata/freplace \
- testdata/iproute2_map_compat \
- testdata/map_spin_lock \
- testdata/subprog_reloc \
- testdata/fwd_decl \
- btf/testdata/relocs \
- btf/testdata/relocs_read \
- btf/testdata/relocs_read_tgt
-
-.PHONY: all clean container-all container-shell generate
-
-.DEFAULT_TARGET = container-all
-
-# Build all ELF binaries using a containerized LLVM toolchain.
-container-all:
- ${CONTAINER_ENGINE} run --rm ${CONTAINER_RUN_ARGS} \
- -v "${REPODIR}":/ebpf -w /ebpf --env MAKEFLAGS \
- --env CFLAGS="-fdebug-prefix-map=/ebpf=." \
- --env HOME="/tmp" \
- "${IMAGE}:${VERSION}" \
- $(MAKE) all
-
-# (debug) Drop the user into a shell inside the container as root.
-container-shell:
- ${CONTAINER_ENGINE} run --rm -ti \
- -v "${REPODIR}":/ebpf -w /ebpf \
- "${IMAGE}:${VERSION}"
-
-clean:
- -$(RM) testdata/*.elf
- -$(RM) btf/testdata/*.elf
-
-format:
- find . -type f -name "*.c" | xargs clang-format -i
-
-all: format $(addsuffix -el.elf,$(TARGETS)) $(addsuffix -eb.elf,$(TARGETS)) generate
- ln -srf testdata/loader-$(CLANG)-el.elf testdata/loader-el.elf
- ln -srf testdata/loader-$(CLANG)-eb.elf testdata/loader-eb.elf
-
-# $BPF_CLANG is used in go:generate invocations.
-generate: export BPF_CLANG := $(CLANG)
-generate: export BPF_CFLAGS := $(CFLAGS)
-generate:
- go generate ./cmd/bpf2go/test
- go generate ./internal/sys
- cd examples/ && go generate ./...
-
-testdata/loader-%-el.elf: testdata/loader.c
- $* $(CFLAGS) -target bpfel -c $< -o $@
- $(STRIP) -g $@
-
-testdata/loader-%-eb.elf: testdata/loader.c
- $* $(CFLAGS) -target bpfeb -c $< -o $@
- $(STRIP) -g $@
-
-%-el.elf: %.c
- $(CLANG) $(CFLAGS) -target bpfel -c $< -o $@
- $(STRIP) -g $@
-
-%-eb.elf : %.c
- $(CLANG) $(CFLAGS) -target bpfeb -c $< -o $@
- $(STRIP) -g $@
-
-.PHONY: generate-btf
-generate-btf: KERNEL_VERSION?=5.18
-generate-btf:
- $(eval TMP := $(shell mktemp -d))
- curl -fL "$(CI_KERNEL_URL)/linux-$(KERNEL_VERSION).bz" -o "$(TMP)/bzImage"
- ./testdata/extract-vmlinux "$(TMP)/bzImage" > "$(TMP)/vmlinux"
- $(OBJCOPY) --dump-section .BTF=/dev/stdout "$(TMP)/vmlinux" /dev/null | gzip > "btf/testdata/vmlinux.btf.gz"
- curl -fL "$(CI_KERNEL_URL)/linux-$(KERNEL_VERSION)-selftests-bpf.tgz" -o "$(TMP)/selftests.tgz"
- tar -xf "$(TMP)/selftests.tgz" --to-stdout tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.ko | \
- $(OBJCOPY) --dump-section .BTF="btf/testdata/btf_testmod.btf" - /dev/null
- $(RM) -r "$(TMP)"