Skip to content

Commit

Permalink
tetragon: Simplify standard object/dependency build
Browse files Browse the repository at this point in the history
Signed-off-by: Jiri Olsa <[email protected]>
  • Loading branch information
olsajiri committed Nov 25, 2024
1 parent 26fb6fb commit 1956f51
Showing 1 changed file with 18 additions and 46 deletions.
64 changes: 18 additions & 46 deletions bpf/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,15 @@ CFLAGS_v53 = -D__LARGE_BPF_PROG
CFLAGS_v511 = -D__LARGE_BPF_PROG -D__LARGE_MAP_KEYS
CFLAGS_v61 = -D__LARGE_BPF_PROG -D__LARGE_MAP_KEYS -D__V61_BPF_PROG

CFLAGS_bpf_enforcer.o := -D__BPF_OVERRIDE_RETURN
CFLAGS_bpf_multi_enforcer.o := -D__BPF_OVERRIDE_RETURN -D__MULTI_KPROBE

rule_d_FLAGS = $(eval $$(CFLAGS_$(MTARGET)))
rule_o_FLAGS = $(eval $$(CFLAGS_$@))

rule_d = $(CLANG) $(CLANG_FLAGS) $(rule_d_FLAGS) -MM -MP -MT $(MTARGET) $< > $@
rule_o = $(CLANG) $(CLANG_FLAGS) $(rule_o_FLAGS) -c $< -o $@

VARIANT_FLAGS = $$(CFLAGS_$1)

define DEFINE_VARIANT
Expand Down Expand Up @@ -110,59 +119,22 @@ $(eval $(call DEFINE_VARIANT,v511))
$(eval $(call DEFINE_VARIANT,v61))

objs/%.o:
$(CLANG) $(CLANG_FLAGS) -c $< -o $@
$(rule_o)

$(DEPSDIR)%.d: $(ALIGNCHECKERDIR)%.c
$(CLANG) $(CLANG_FLAGS) -MM -MP -MT $(MTARGET) $< > $@


# Enforcer programs: bpf_enforcer, bpf_multi_enforcer, bpf_fmodret_enforcer

## bpf_enforcer: __BPF_OVERRIDE_RETURN, but no __MULTI_KPROBE
objs/bpf_enforcer.o:
$(CLANG) $(CLANG_FLAGS) -D__BPF_OVERRIDE_RETURN -c $< -o $@

$(DEPSDIR)bpf_enforcer.d: process/bpf_enforcer.c
$(CLANG) $(CLANG_FLAGS) -D__BPF_OVERRIDE_RETURN -MM -MP -MT $(MTARGET) $< > $@

## bpf_multi_enforcer: __BPF_OVERRIDE_RETURN and __MULTI_KPROBE
objs/bpf_multi_enforcer.o:
$(CLANG) $(CLANG_FLAGS) -D__BPF_OVERRIDE_RETURN -D__MULTI_KPROBE -c $< -o $@

$(rule_d)
$(DEPSDIR)bpf_multi_enforcer.d: process/bpf_enforcer.c
$(CLANG) $(CLANG_FLAGS) -D__BPF_OVERRIDE_RETURN -D__MULTI_KPROBE -MM -MP -MT $(MTARGET) $< > $@

## bpf_fmodret_enforcer no bpf_override_return: we need fmod_ret
objs/bpf_fmodret_enforcer.o:
$(CLANG) $(CLANG_FLAGS) -c $< -o $@

$(rule_d)
$(DEPSDIR)bpf_fmodret_enforcer.d: process/bpf_enforcer.c
$(CLANG) $(CLANG_FLAGS) -MM -MP -MT $(MTARGET) $< > $@

# PROCESSDIR
$(rule_d)
$(DEPSDIR)%.d: $(PROCESSDIR)%.c
$(CLANG) $(CLANG_FLAGS) -MM -MP -MT $(MTARGET) $< > $@

objs/bpf_generic_lsm_core.o:
$(CLANG) $(CLANG_FLAGS) -D__LARGE_BPF_PROG -c $< -o $@

$(DEPSDIR)/bpf_generic_lsm_core.d:
$(CLANG) $(CLANG_FLAGS) -D__LARGE_BPF_PROG -MM -MP -MT $(MTARGET) $< > $@

objs/bpf_generic_lsm_output.o:
$(CLANG) $(CLANG_FLAGS) -D__LARGE_BPF_PROG -c $< -o $@

$(DEPSDIR)/bpf_generic_lsm_output.d:
$(CLANG) $(CLANG_FLAGS) -D__LARGE_BPF_PROG -MM -MP -MT $(MTARGET) $< > $@


# BPFTESTDIR
$(rule_d)
$(DEPSDIR)%.d: $(BPFTESTDIR)%.c
$(CLANG) $(CLANG_FLAGS) -MM -MP -MT $(MTARGET) $< > $@

# CGROUPDIR
$(rule_d)
$(DEPSDIR)%.d: $(CGROUPDIR)%.c
$(CLANG) $(CLANG_FLAGS) -MM -MP -MT $(MTARGET) $< > $@
$(rule_d)
$(DEPSDIR)%.d: %.c
$(rule_d)

# include dependencies, see https://lists.gnu.org/archive/html/make-w32/2004-03/msg00062.html
ifeq (,$(filter $(MAKECMDGOALS),clean run-test))
Expand Down

0 comments on commit 1956f51

Please sign in to comment.