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

TOMOYO Linux Cross Reference
Linux/tools/bpf/bpftool/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 ] ~

Diff markup

Differences between /tools/bpf/bpftool/Makefile (Version linux-6.12-rc7) and /tools/bpf/bpftool/Makefile (Version linux-4.4.302)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS    
  2 include ../../scripts/Makefile.include            
  3                                                   
  4 ifeq ($(srctree),)                                
  5 srctree := $(patsubst %/,%,$(dir $(CURDIR)))      
  6 srctree := $(patsubst %/,%,$(dir $(srctree)))     
  7 srctree := $(patsubst %/,%,$(dir $(srctree)))     
  8 endif                                             
  9                                                   
 10 ifeq ($(V),1)                                     
 11   Q =                                             
 12 else                                              
 13   Q = @                                           
 14 endif                                             
 15                                                   
 16 BPF_DIR = $(srctree)/tools/lib/bpf                
 17                                                   
 18 ifneq ($(OUTPUT),)                                
 19   _OUTPUT := $(OUTPUT)                            
 20 else                                              
 21   _OUTPUT := $(CURDIR)/                           
 22 endif                                             
 23 BOOTSTRAP_OUTPUT := $(_OUTPUT)bootstrap/          
 24                                                   
 25 LIBBPF_OUTPUT := $(_OUTPUT)libbpf/                
 26 LIBBPF_DESTDIR := $(LIBBPF_OUTPUT)                
 27 LIBBPF_INCLUDE := $(LIBBPF_DESTDIR)include        
 28 LIBBPF_HDRS_DIR := $(LIBBPF_INCLUDE)/bpf          
 29 LIBBPF := $(LIBBPF_OUTPUT)libbpf.a                
 30                                                   
 31 LIBBPF_BOOTSTRAP_OUTPUT := $(BOOTSTRAP_OUTPUT)    
 32 LIBBPF_BOOTSTRAP_DESTDIR := $(LIBBPF_BOOTSTRAP    
 33 LIBBPF_BOOTSTRAP_INCLUDE := $(LIBBPF_BOOTSTRAP    
 34 LIBBPF_BOOTSTRAP_HDRS_DIR := $(LIBBPF_BOOTSTRA    
 35 LIBBPF_BOOTSTRAP := $(LIBBPF_BOOTSTRAP_OUTPUT)    
 36                                                   
 37 # We need to copy hashmap.h, nlattr.h, relo_co    
 38 # which are not otherwise exported by libbpf,     
 39 LIBBPF_INTERNAL_HDRS := $(addprefix $(LIBBPF_H    
 40 LIBBPF_BOOTSTRAP_INTERNAL_HDRS := $(addprefix     
 41                                                   
 42 $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_    
 43         $(QUIET_MKDIR)mkdir -p $@                 
 44                                                   
 45 $(LIBBPF): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_    
 46         $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIB    
 47                 DESTDIR=$(LIBBPF_DESTDIR:/=) p    
 48                                                   
 49 $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.    
 50         $(call QUIET_INSTALL, $@)                 
 51         $(Q)install -m 644 -t $(LIBBPF_HDRS_DI    
 52                                                   
 53 $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[    
 54         $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIB    
 55                 DESTDIR=$(LIBBPF_BOOTSTRAP_DES    
 56                 ARCH= CROSS_COMPILE= CC="$(HOS    
 57                                                   
 58 $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BO    
 59         $(call QUIET_INSTALL, $@)                 
 60         $(Q)install -m 644 -t $(LIBBPF_BOOTSTR    
 61                                                   
 62 $(LIBBPF)-clean: FORCE | $(LIBBPF_OUTPUT)         
 63         $(call QUIET_CLEAN, libbpf)               
 64         $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIB    
 65                                                   
 66 $(LIBBPF_BOOTSTRAP)-clean: FORCE | $(LIBBPF_BO    
 67         $(call QUIET_CLEAN, libbpf-bootstrap)     
 68         $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIB    
 69                                                   
 70 prefix ?= /usr/local                              
 71 bash_compdir ?= /usr/share/bash-completion/com    
 72                                                   
 73 CFLAGS += -O2                                     
 74 CFLAGS += -W -Wall -Wextra -Wno-unused-paramet    
 75 CFLAGS += $(filter-out -Wswitch-enum -Wnested-    
 76 CFLAGS += -DPACKAGE='"bpftool"' -D__EXPORTED_H    
 77         -I$(or $(OUTPUT),.) \                     
 78         -I$(LIBBPF_INCLUDE) \                     
 79         -I$(srctree)/kernel/bpf/ \                
 80         -I$(srctree)/tools/include \              
 81         -I$(srctree)/tools/include/uapi           
 82 ifneq ($(BPFTOOL_VERSION),)                       
 83 CFLAGS += -DBPFTOOL_VERSION='"$(BPFTOOL_VERSIO    
 84 endif                                             
 85 ifneq ($(EXTRA_CFLAGS),)                          
 86 CFLAGS += $(EXTRA_CFLAGS)                         
 87 endif                                             
 88 ifneq ($(EXTRA_LDFLAGS),)                         
 89 LDFLAGS += $(EXTRA_LDFLAGS)                       
 90 endif                                             
 91                                                   
 92 HOST_CFLAGS := $(subst -I$(LIBBPF_INCLUDE),-I$    
 93                 $(subst $(CLANG_CROSS_FLAGS),,    
 94 HOST_LDFLAGS := $(LDFLAGS)                        
 95                                                   
 96 INSTALL ?= install                                
 97 RM ?= rm -f                                       
 98                                                   
 99 FEATURE_USER = .bpftool                           
100                                                   
101 FEATURE_TESTS := clang-bpf-co-re                  
102 FEATURE_TESTS += llvm                             
103 FEATURE_TESTS += libcap                           
104 FEATURE_TESTS += libbfd                           
105 FEATURE_TESTS += libbfd-liberty                   
106 FEATURE_TESTS += libbfd-liberty-z                 
107 FEATURE_TESTS += disassembler-four-args           
108 FEATURE_TESTS += disassembler-init-styled         
109                                                   
110 FEATURE_DISPLAY := clang-bpf-co-re                
111 FEATURE_DISPLAY += llvm                           
112 FEATURE_DISPLAY += libcap                         
113 FEATURE_DISPLAY += libbfd                         
114 FEATURE_DISPLAY += libbfd-liberty                 
115 FEATURE_DISPLAY += libbfd-liberty-z               
116                                                   
117 check_feat := 1                                   
118 NON_CHECK_FEAT_TARGETS := clean uninstall doc     
119 ifdef MAKECMDGOALS                                
120 ifeq ($(filter-out $(NON_CHECK_FEAT_TARGETS),$    
121   check_feat := 0                                 
122 endif                                             
123 endif                                             
124                                                   
125 ifeq ($(check_feat),1)                            
126 ifeq ($(FEATURES_DUMP),)                          
127 include $(srctree)/tools/build/Makefile.featur    
128 else                                              
129 include $(FEATURES_DUMP)                          
130 endif                                             
131 endif                                             
132                                                   
133 LIBS = $(LIBBPF) -lelf -lz                        
134 LIBS_BOOTSTRAP = $(LIBBPF_BOOTSTRAP) -lelf -lz    
135 ifeq ($(feature-libcap), 1)                       
136 CFLAGS += -DUSE_LIBCAP                            
137 LIBS += -lcap                                     
138 endif                                             
139                                                   
140 include $(wildcard $(OUTPUT)*.d)                  
141                                                   
142 all: $(OUTPUT)bpftool                             
143                                                   
144 SRCS := $(wildcard *.c)                           
145                                                   
146 ifeq ($(feature-llvm),1)                          
147   # If LLVM is available, use it for JIT disas    
148   CFLAGS  += -DHAVE_LLVM_SUPPORT                  
149   LLVM_CONFIG_LIB_COMPONENTS := mcdisassembler    
150   CFLAGS  += $(shell $(LLVM_CONFIG) --cflags)     
151   LIBS    += $(shell $(LLVM_CONFIG) --libs $(L    
152   ifeq ($(shell $(LLVM_CONFIG) --shared-mode),    
153     LIBS += $(shell $(LLVM_CONFIG) --system-li    
154     LIBS += -lstdc++                              
155   endif                                           
156   LDFLAGS += $(shell $(LLVM_CONFIG) --ldflags)    
157 else                                              
158   # Fall back on libbfd                           
159   ifeq ($(feature-libbfd),1)                      
160     LIBS += -lbfd -ldl -lopcodes                  
161   else ifeq ($(feature-libbfd-liberty),1)         
162     LIBS += -lbfd -ldl -lopcodes -liberty         
163   else ifeq ($(feature-libbfd-liberty-z),1)       
164     LIBS += -lbfd -ldl -lopcodes -liberty -lz     
165   endif                                           
166                                                   
167   # If one of the above feature combinations i    
168   ifneq ($(filter -lbfd,$(LIBS)),)                
169     CFLAGS += -DHAVE_LIBBFD_SUPPORT               
170                                                   
171     # Libbfd interface changed over time, figu    
172     ifeq ($(feature-disassembler-four-args), 1    
173       CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE      
174     endif                                         
175     ifeq ($(feature-disassembler-init-styled),    
176       CFLAGS += -DDISASM_INIT_STYLED              
177     endif                                         
178   endif                                           
179 endif                                             
180 ifeq ($(filter -DHAVE_LLVM_SUPPORT -DHAVE_LIBB    
181   # No support for JIT disassembly                
182   SRCS := $(filter-out jit_disasm.c,$(SRCS))      
183 endif                                             
184                                                   
185 BPFTOOL_BOOTSTRAP := $(BOOTSTRAP_OUTPUT)bpftoo    
186                                                   
187 BOOTSTRAP_OBJS = $(addprefix $(BOOTSTRAP_OUTPU    
188 $(BOOTSTRAP_OBJS): $(LIBBPF_BOOTSTRAP)            
189                                                   
190 OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(    
191 $(OBJS): $(LIBBPF) $(LIBBPF_INTERNAL_HDRS)        
192                                                   
193 VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux)      
194                      $(if $(KBUILD_OUTPUT),$(K    
195                      ../../../vmlinux             
196                      /sys/kernel/btf/vmlinux      
197                      /boot/vmlinux-$(shell una    
198 VMLINUX_BTF ?= $(abspath $(firstword $(wildcar    
199                                                   
200 bootstrap: $(BPFTOOL_BOOTSTRAP)                   
201                                                   
202 ifneq ($(VMLINUX_BTF)$(VMLINUX_H),)               
203 ifeq ($(feature-clang-bpf-co-re),1)               
204                                                   
205 BUILD_BPF_SKELS := 1                              
206                                                   
207 ifeq ($(VMLINUX_H),)                              
208 $(OUTPUT)vmlinux.h: $(VMLINUX_BTF) $(BPFTOOL_B    
209         $(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) btf d    
210 else                                              
211 $(OUTPUT)vmlinux.h: $(VMLINUX_H)                  
212         $(Q)cp "$(VMLINUX_H)" $@                  
213 endif                                             
214                                                   
215 $(OUTPUT)%.bpf.o: skeleton/%.bpf.c $(OUTPUT)vm    
216         $(QUIET_CLANG)$(CLANG) \                  
217                 -I$(or $(OUTPUT),.) \             
218                 -I$(srctree)/tools/include/uap    
219                 -I$(LIBBPF_BOOTSTRAP_INCLUDE)     
220                 -g -O2 -Wall -fno-stack-protec    
221                 --target=bpf -c $< -o $@          
222         $(Q)$(LLVM_STRIP) -g $@                   
223                                                   
224 $(OUTPUT)%.skel.h: $(OUTPUT)%.bpf.o $(BPFTOOL_    
225         $(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) gen s    
226                                                   
227 $(OUTPUT)prog.o: $(OUTPUT)profiler.skel.h         
228                                                   
229 $(OUTPUT)pids.o: $(OUTPUT)pid_iter.skel.h         
230                                                   
231 endif                                             
232 endif                                             
233                                                   
234 CFLAGS += $(if $(BUILD_BPF_SKELS),,-DBPFTOOL_W    
235                                                   
236 $(OUTPUT)disasm.o: $(srctree)/kernel/bpf/disas    
237         $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD $<     
238                                                   
239 $(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBB    
240         $(QUIET_LINK)$(HOSTCC) $(HOST_CFLAGS)     
241                                                   
242 $(OUTPUT)bpftool: $(OBJS) $(LIBBPF)               
243         $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS    
244                                                   
245 $(BOOTSTRAP_OUTPUT)%.o: %.c $(LIBBPF_BOOTSTRAP    
246         $(QUIET_CC)$(HOSTCC) $(HOST_CFLAGS) -c    
247                                                   
248 $(OUTPUT)%.o: %.c                                 
249         $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD $<     
250                                                   
251 feature-detect-clean:                             
252         $(call QUIET_CLEAN, feature-detect)       
253         $(Q)$(MAKE) -C $(srctree)/tools/build/    
254                                                   
255 clean: $(LIBBPF)-clean $(LIBBPF_BOOTSTRAP)-cle    
256         $(call QUIET_CLEAN, bpftool)              
257         $(Q)$(RM) -- $(OUTPUT)bpftool $(OUTPUT    
258         $(Q)$(RM) -- $(OUTPUT)*.skel.h $(OUTPU    
259         $(Q)$(RM) -r -- $(LIBBPF_OUTPUT) $(BOO    
260         $(call QUIET_CLEAN, core-gen)             
261         $(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpf    
262         $(Q)$(RM) -r -- $(OUTPUT)feature/         
263                                                   
264 install-bin: $(OUTPUT)bpftool                     
265         $(call QUIET_INSTALL, bpftool)            
266         $(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(    
267         $(Q)$(INSTALL) $(OUTPUT)bpftool $(DEST    
268                                                   
269 install: install-bin                              
270         $(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(    
271         $(Q)$(INSTALL) -m 0644 bash-completion    
272                                                   
273 uninstall:                                        
274         $(call QUIET_UNINST, bpftool)             
275         $(Q)$(RM) -- $(DESTDIR)$(prefix)/sbin/    
276         $(Q)$(RM) -- $(DESTDIR)$(bash_compdir)    
277                                                   
278 doc:                                              
279         $(call descend,Documentation)             
280                                                   
281 doc-clean:                                        
282         $(call descend,Documentation,clean)       
283                                                   
284 doc-install:                                      
285         $(call descend,Documentation,install)     
286                                                   
287 doc-uninstall:                                    
288         $(call descend,Documentation,uninstall    
289                                                   
290 FORCE:                                            
291                                                   
292 .SECONDARY:                                       
293 .PHONY: all FORCE bootstrap clean install-bin     
294 .PHONY: doc doc-clean doc-install doc-uninstal    
295 .DEFAULT_GOAL := all                              
296                                                   
297 # Delete partially updated (corrupted) files o    
298 .DELETE_ON_ERROR:                                 
                                                      

~ [ 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