xref: /linux/kernel/bpf/Makefile (revision b1a54551dd9ed5ef1763b97b35a0999ca002b95c)
1# SPDX-License-Identifier: GPL-2.0
2obj-y := core.o
3ifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y)
4# ___bpf_prog_run() needs GCSE disabled on x86; see 3193c0836f203 for details
5cflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) := -fno-gcse
6endif
7CFLAGS_core.o += $(call cc-disable-warning, override-init) $(cflags-nogcse-yy)
8
9obj-$(CONFIG_BPF_SYSCALL) += syscall.o verifier.o inode.o helpers.o tnum.o log.o
10obj-$(CONFIG_BPF_SYSCALL) += bpf_iter.o map_iter.o task_iter.o prog_iter.o link_iter.o
11obj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o lpm_trie.o map_in_map.o bloom_filter.o
12obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o
13obj-$(CONFIG_BPF_SYSCALL) += bpf_local_storage.o bpf_task_storage.o
14obj-${CONFIG_BPF_LSM}	  += bpf_inode_storage.o
15obj-$(CONFIG_BPF_SYSCALL) += disasm.o mprog.o
16obj-$(CONFIG_BPF_JIT) += trampoline.o
17obj-$(CONFIG_BPF_SYSCALL) += btf.o memalloc.o
18obj-$(CONFIG_BPF_JIT) += dispatcher.o
19ifeq ($(CONFIG_NET),y)
20obj-$(CONFIG_BPF_SYSCALL) += devmap.o
21obj-$(CONFIG_BPF_SYSCALL) += cpumap.o
22obj-$(CONFIG_BPF_SYSCALL) += offload.o
23obj-$(CONFIG_BPF_SYSCALL) += net_namespace.o
24obj-$(CONFIG_BPF_SYSCALL) += tcx.o
25endif
26ifeq ($(CONFIG_PERF_EVENTS),y)
27obj-$(CONFIG_BPF_SYSCALL) += stackmap.o
28endif
29ifeq ($(CONFIG_CGROUPS),y)
30obj-$(CONFIG_BPF_SYSCALL) += cgroup_iter.o bpf_cgrp_storage.o
31endif
32obj-$(CONFIG_CGROUP_BPF) += cgroup.o
33ifeq ($(CONFIG_INET),y)
34obj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o
35endif
36ifeq ($(CONFIG_SYSFS),y)
37obj-$(CONFIG_DEBUG_INFO_BTF) += sysfs_btf.o
38endif
39ifeq ($(CONFIG_BPF_JIT),y)
40obj-$(CONFIG_BPF_SYSCALL) += bpf_struct_ops.o
41obj-$(CONFIG_BPF_SYSCALL) += cpumask.o
42obj-${CONFIG_BPF_LSM} += bpf_lsm.o
43endif
44obj-$(CONFIG_BPF_PRELOAD) += preload/
45
46obj-$(CONFIG_BPF_SYSCALL) += relo_core.o
47$(obj)/relo_core.o: $(srctree)/tools/lib/bpf/relo_core.c FORCE
48	$(call if_changed_rule,cc_o_c)
49