~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/bpf/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 include ../scripts/Makefile.include
  3 
  4 prefix ?= /usr/local
  5 
  6 LEX = flex
  7 YACC = bison
  8 MAKE = make
  9 INSTALL ?= install
 10 
 11 CFLAGS += -Wall -O2
 12 CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/tools/include/uapi \
 13           -I$(srctree)/tools/include
 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
 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)
 26 srctree := $(patsubst %/,%,$(dir $(CURDIR)))
 27 srctree := $(patsubst %/,%,$(dir $(srctree)))
 28 endif
 29 
 30 ifeq ($(V),1)
 31   Q =
 32 else
 33   Q = @
 34 endif
 35 
 36 FEATURE_USER = .bpf
 37 FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled
 38 FEATURE_DISPLAY = libbfd
 39 
 40 check_feat := 1
 41 NON_CHECK_FEAT_TARGETS := clean bpftool_clean runqslower_clean resolve_btfids_clean
 42 ifdef MAKECMDGOALS
 43 ifeq ($(filter-out $(NON_CHECK_FEAT_TARGETS),$(MAKECMDGOALS)),)
 44   check_feat := 0
 45 endif
 46 endif
 47 
 48 ifeq ($(check_feat),1)
 49 ifeq ($(FEATURES_DUMP),)
 50 include $(srctree)/tools/build/Makefile.feature
 51 else
 52 include $(FEATURES_DUMP)
 53 endif
 54 endif
 55 
 56 ifeq ($(feature-disassembler-four-args), 1)
 57 CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
 58 endif
 59 ifeq ($(feature-disassembler-init-styled), 1)
 60 CFLAGS += -DDISASM_INIT_STYLED
 61 endif
 62 
 63 $(OUTPUT)%.yacc.c: $(srctree)/tools/bpf/%.y
 64         $(QUIET_BISON)$(YACC) -o $@ -d $<
 65 
 66 $(OUTPUT)%.lex.c: $(srctree)/tools/bpf/%.l
 67         $(QUIET_FLEX)$(LEX) -o $@ $<
 68 
 69 $(OUTPUT)%.o: $(srctree)/tools/bpf/%.c
 70         $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $<
 71 
 72 $(OUTPUT)%.yacc.o: $(OUTPUT)%.yacc.c
 73         $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $<
 74 $(OUTPUT)%.lex.o: $(OUTPUT)%.lex.c
 75         $(QUIET_CC)$(CC) $(CFLAGS) -c -o $@ $<
 76 
 77 PROGS = $(OUTPUT)bpf_jit_disasm $(OUTPUT)bpf_dbg $(OUTPUT)bpf_asm
 78 
 79 all: $(PROGS) bpftool runqslower
 80 
 81 $(OUTPUT)bpf_jit_disasm: CFLAGS += -DPACKAGE='bpf_jit_disasm'
 82 $(OUTPUT)bpf_jit_disasm: $(OUTPUT)bpf_jit_disasm.o
 83         $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $^ -lopcodes -lbfd -ldl
 84 
 85 $(OUTPUT)bpf_dbg: $(OUTPUT)bpf_dbg.o
 86         $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $^ -lreadline
 87 
 88 $(OUTPUT)bpf_asm: $(OUTPUT)bpf_asm.o $(OUTPUT)bpf_exp.yacc.o $(OUTPUT)bpf_exp.lex.o
 89         $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $^
 90 
 91 $(OUTPUT)bpf_exp.lex.c: $(OUTPUT)bpf_exp.yacc.c
 92 $(OUTPUT)bpf_exp.yacc.o: $(OUTPUT)bpf_exp.yacc.c
 93 $(OUTPUT)bpf_exp.lex.o: $(OUTPUT)bpf_exp.lex.c
 94 
 95 clean: bpftool_clean runqslower_clean resolve_btfids_clean
 96         $(call QUIET_CLEAN, bpf-progs)
 97         $(Q)$(RM) -r -- $(OUTPUT)*.o $(OUTPUT)bpf_jit_disasm $(OUTPUT)bpf_dbg \
 98                $(OUTPUT)bpf_asm $(OUTPUT)bpf_exp.yacc.* $(OUTPUT)bpf_exp.lex.*
 99         $(call QUIET_CLEAN, core-gen)
100         $(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpf
101         $(Q)$(RM) -r -- $(OUTPUT)feature
102 
103 install: $(PROGS) bpftool_install
104         $(call QUIET_INSTALL, bpf_jit_disasm)
105         $(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(prefix)/bin
106         $(Q)$(INSTALL) $(OUTPUT)bpf_jit_disasm $(DESTDIR)$(prefix)/bin/bpf_jit_disasm
107         $(call QUIET_INSTALL, bpf_dbg)
108         $(Q)$(INSTALL) $(OUTPUT)bpf_dbg $(DESTDIR)$(prefix)/bin/bpf_dbg
109         $(call QUIET_INSTALL, bpf_asm)
110         $(Q)$(INSTALL) $(OUTPUT)bpf_asm $(DESTDIR)$(prefix)/bin/bpf_asm
111 
112 bpftool:
113         $(call descend,bpftool)
114 
115 bpftool_install:
116         $(call descend,bpftool,install)
117 
118 bpftool_clean:
119         $(call descend,bpftool,clean)
120 
121 runqslower:
122         $(call descend,runqslower)
123 
124 runqslower_clean:
125         $(call descend,runqslower,clean)
126 
127 resolve_btfids:
128         $(call descend,resolve_btfids)
129 
130 resolve_btfids_clean:
131         $(call descend,resolve_btfids,clean)
132 
133 .PHONY: all install clean bpftool bpftool_install bpftool_clean \
134         runqslower runqslower_clean \
135         resolve_btfids resolve_btfids_clean

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php