| .. | .. |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | prefix ?= /usr/local |
|---|
| 5 | 5 | |
|---|
| 6 | | -CC = gcc |
|---|
| 7 | 6 | LEX = flex |
|---|
| 8 | 7 | YACC = bison |
|---|
| 9 | 8 | MAKE = make |
|---|
| 10 | 9 | INSTALL ?= install |
|---|
| 11 | 10 | |
|---|
| 12 | 11 | CFLAGS += -Wall -O2 |
|---|
| 13 | | -CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/include/uapi -I$(srctree)/include |
|---|
| 12 | +CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/tools/include/uapi \ |
|---|
| 13 | + -I$(srctree)/tools/include |
|---|
| 14 | 14 | |
|---|
| 15 | +# This will work when bpf is built in tools env. where srctree |
|---|
| 16 | +# isn't set and when invoked from selftests build, where srctree |
|---|
| 17 | +# is set to ".". building_out_of_srctree is undefined for in srctree |
|---|
| 18 | +# builds |
|---|
| 15 | 19 | ifeq ($(srctree),) |
|---|
| 20 | +update_srctree := 1 |
|---|
| 21 | +endif |
|---|
| 22 | +ifndef building_out_of_srctree |
|---|
| 23 | +update_srctree := 1 |
|---|
| 24 | +endif |
|---|
| 25 | +ifeq ($(update_srctree),1) |
|---|
| 16 | 26 | srctree := $(patsubst %/,%,$(dir $(CURDIR))) |
|---|
| 17 | 27 | srctree := $(patsubst %/,%,$(dir $(srctree))) |
|---|
| 18 | 28 | endif |
|---|
| .. | .. |
|---|
| 28 | 38 | FEATURE_DISPLAY = libbfd disassembler-four-args |
|---|
| 29 | 39 | |
|---|
| 30 | 40 | check_feat := 1 |
|---|
| 31 | | -NON_CHECK_FEAT_TARGETS := clean bpftool_clean |
|---|
| 41 | +NON_CHECK_FEAT_TARGETS := clean bpftool_clean runqslower_clean resolve_btfids_clean |
|---|
| 32 | 42 | ifdef MAKECMDGOALS |
|---|
| 33 | 43 | ifeq ($(filter-out $(NON_CHECK_FEAT_TARGETS),$(MAKECMDGOALS)),) |
|---|
| 34 | 44 | check_feat := 0 |
|---|
| .. | .. |
|---|
| 54 | 64 | $(QUIET_FLEX)$(LEX) -o $@ $< |
|---|
| 55 | 65 | |
|---|
| 56 | 66 | $(OUTPUT)%.o: $(srctree)/tools/bpf/%.c |
|---|
| 57 | | - $(QUIET_CC)$(COMPILE.c) -o $@ $< |
|---|
| 67 | + $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $< |
|---|
| 58 | 68 | |
|---|
| 59 | 69 | $(OUTPUT)%.yacc.o: $(OUTPUT)%.yacc.c |
|---|
| 60 | | - $(QUIET_CC)$(COMPILE.c) -o $@ $< |
|---|
| 70 | + $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $< |
|---|
| 61 | 71 | $(OUTPUT)%.lex.o: $(OUTPUT)%.lex.c |
|---|
| 62 | | - $(QUIET_CC)$(COMPILE.c) -o $@ $< |
|---|
| 72 | + $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $< |
|---|
| 63 | 73 | |
|---|
| 64 | 74 | PROGS = $(OUTPUT)bpf_jit_disasm $(OUTPUT)bpf_dbg $(OUTPUT)bpf_asm |
|---|
| 65 | 75 | |
|---|
| 66 | | -all: $(PROGS) bpftool |
|---|
| 76 | +all: $(PROGS) bpftool runqslower |
|---|
| 67 | 77 | |
|---|
| 68 | 78 | $(OUTPUT)bpf_jit_disasm: CFLAGS += -DPACKAGE='bpf_jit_disasm' |
|---|
| 69 | 79 | $(OUTPUT)bpf_jit_disasm: $(OUTPUT)bpf_jit_disasm.o |
|---|
| .. | .. |
|---|
| 79 | 89 | $(OUTPUT)bpf_exp.yacc.o: $(OUTPUT)bpf_exp.yacc.c |
|---|
| 80 | 90 | $(OUTPUT)bpf_exp.lex.o: $(OUTPUT)bpf_exp.lex.c |
|---|
| 81 | 91 | |
|---|
| 82 | | -clean: bpftool_clean |
|---|
| 92 | +clean: bpftool_clean runqslower_clean resolve_btfids_clean |
|---|
| 83 | 93 | $(call QUIET_CLEAN, bpf-progs) |
|---|
| 84 | | - $(Q)rm -rf $(OUTPUT)*.o $(OUTPUT)bpf_jit_disasm $(OUTPUT)bpf_dbg \ |
|---|
| 94 | + $(Q)$(RM) -r -- $(OUTPUT)*.o $(OUTPUT)bpf_jit_disasm $(OUTPUT)bpf_dbg \ |
|---|
| 85 | 95 | $(OUTPUT)bpf_asm $(OUTPUT)bpf_exp.yacc.* $(OUTPUT)bpf_exp.lex.* |
|---|
| 86 | 96 | $(call QUIET_CLEAN, core-gen) |
|---|
| 87 | | - $(Q)rm -f $(OUTPUT)FEATURE-DUMP.bpf |
|---|
| 97 | + $(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpf |
|---|
| 98 | + $(Q)$(RM) -r -- $(OUTPUT)feature |
|---|
| 88 | 99 | |
|---|
| 89 | 100 | install: $(PROGS) bpftool_install |
|---|
| 90 | 101 | $(call QUIET_INSTALL, bpf_jit_disasm) |
|---|
| .. | .. |
|---|
| 104 | 115 | bpftool_clean: |
|---|
| 105 | 116 | $(call descend,bpftool,clean) |
|---|
| 106 | 117 | |
|---|
| 107 | | -.PHONY: all install clean bpftool bpftool_install bpftool_clean |
|---|
| 118 | +runqslower: |
|---|
| 119 | + $(call descend,runqslower) |
|---|
| 120 | + |
|---|
| 121 | +runqslower_clean: |
|---|
| 122 | + $(call descend,runqslower,clean) |
|---|
| 123 | + |
|---|
| 124 | +resolve_btfids: |
|---|
| 125 | + $(call descend,resolve_btfids) |
|---|
| 126 | + |
|---|
| 127 | +resolve_btfids_clean: |
|---|
| 128 | + $(call descend,resolve_btfids,clean) |
|---|
| 129 | + |
|---|
| 130 | +.PHONY: all install clean bpftool bpftool_install bpftool_clean \ |
|---|
| 131 | + runqslower runqslower_clean \ |
|---|
| 132 | + resolve_btfids resolve_btfids_clean |
|---|