1116742Ssam# SPDX-License-Identifier: GPL-2.0
2116904Ssamobj-y := core.o
3116742Ssamifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y)
4116742Ssam# ___bpf_prog_run() needs GCSE disabled on x86; see 3193c0836f203 for details
5116742Ssamcflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) := -fno-gcse
6116742Ssamendif
7116742SsamCFLAGS_core.o += -Wno-override-init $(cflags-nogcse-yy)
8116742Ssam
9116742Ssamobj-$(CONFIG_BPF_SYSCALL) += syscall.o verifier.o inode.o helpers.o tnum.o log.o token.o
10116742Ssamobj-$(CONFIG_BPF_SYSCALL) += bpf_iter.o map_iter.o task_iter.o prog_iter.o link_iter.o
11116742Ssamobj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o lpm_trie.o map_in_map.o bloom_filter.o
12116742Ssamobj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o
13116742Ssamobj-$(CONFIG_BPF_SYSCALL) += bpf_local_storage.o bpf_task_storage.o
14116904Ssamobj-${CONFIG_BPF_LSM}	  += bpf_inode_storage.o
15116904Ssamobj-$(CONFIG_BPF_SYSCALL) += disasm.o mprog.o
16116742Ssamobj-$(CONFIG_BPF_JIT) += trampoline.o
17116904Ssamobj-$(CONFIG_BPF_SYSCALL) += btf.o memalloc.o
18116904Ssamifeq ($(CONFIG_MMU)$(CONFIG_64BIT),yy)
19116904Ssamobj-$(CONFIG_BPF_SYSCALL) += arena.o
20116742Ssamendif
21116904Ssamobj-$(CONFIG_BPF_JIT) += dispatcher.o
22116904Ssamifeq ($(CONFIG_NET),y)
23116904Ssamobj-$(CONFIG_BPF_SYSCALL) += devmap.o
24116904Ssamobj-$(CONFIG_BPF_SYSCALL) += cpumap.o
25116904Ssamobj-$(CONFIG_BPF_SYSCALL) += offload.o
26116904Ssamobj-$(CONFIG_BPF_SYSCALL) += net_namespace.o
27116904Ssamobj-$(CONFIG_BPF_SYSCALL) += tcx.o
28116904Ssamendif
29116904Ssamifeq ($(CONFIG_PERF_EVENTS),y)
30116904Ssamobj-$(CONFIG_BPF_SYSCALL) += stackmap.o
31116904Ssamendif
32116742Ssamifeq ($(CONFIG_CGROUPS),y)
33116742Ssamobj-$(CONFIG_BPF_SYSCALL) += cgroup_iter.o bpf_cgrp_storage.o
34116742Ssamendif
35116742Ssamobj-$(CONFIG_CGROUP_BPF) += cgroup.o
36116742Ssamifeq ($(CONFIG_INET),y)
37138568Ssamobj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o
38116742Ssamendif
39138568Ssamifeq ($(CONFIG_SYSFS),y)
40138568Ssamobj-$(CONFIG_DEBUG_INFO_BTF) += sysfs_btf.o
41138568Ssamendif
42138568Ssamifeq ($(CONFIG_BPF_JIT),y)
43138568Ssamobj-$(CONFIG_BPF_SYSCALL) += bpf_struct_ops.o
44138568Ssamobj-$(CONFIG_BPF_SYSCALL) += cpumask.o
45138568Ssamobj-${CONFIG_BPF_LSM} += bpf_lsm.o
46138568Ssamendif
47138568Ssamifneq ($(CONFIG_CRYPTO),)
48138568Ssamobj-$(CONFIG_BPF_SYSCALL) += crypto.o
49138568Ssamendif
50138568Ssamobj-$(CONFIG_BPF_PRELOAD) += preload/
51138568Ssam
52138568Ssamobj-$(CONFIG_BPF_SYSCALL) += relo_core.o
53138568Ssam$(obj)/relo_core.o: $(srctree)/tools/lib/bpf/relo_core.c FORCE
54138568Ssam	$(call if_changed_rule,cc_o_c)
55138568Ssam