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

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/hid/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/testing/selftests/hid/Makefile (Version linux-6.12-rc7) and /tools/testing/selftests/hid/Makefile (Version linux-5.2.21)


  1 # SPDX-License-Identifier: GPL-2.0                
  2                                                   
  3 # based on tools/testing/selftest/bpf/Makefile    
  4 include ../../../build/Build.include              
  5 include ../../../scripts/Makefile.arch            
  6 include ../../../scripts/Makefile.include         
  7                                                   
  8 TEST_PROGS := hid-core.sh                         
  9 TEST_PROGS += hid-apple.sh                        
 10 TEST_PROGS += hid-gamepad.sh                      
 11 TEST_PROGS += hid-ite.sh                          
 12 TEST_PROGS += hid-keyboard.sh                     
 13 TEST_PROGS += hid-mouse.sh                        
 14 TEST_PROGS += hid-multitouch.sh                   
 15 TEST_PROGS += hid-sony.sh                         
 16 TEST_PROGS += hid-tablet.sh                       
 17 TEST_PROGS += hid-usb_crash.sh                    
 18 TEST_PROGS += hid-wacom.sh                        
 19                                                   
 20 TEST_FILES := run-hid-tools-tests.sh              
 21 TEST_FILES += tests                               
 22                                                   
 23 CXX ?= $(CROSS_COMPILE)g++                        
 24                                                   
 25 HOSTPKG_CONFIG := pkg-config                      
 26                                                   
 27 CFLAGS += -g -O0 -rdynamic -Wall -Werror -I$(O    
 28 CFLAGS += -I$(OUTPUT)/tools/include               
 29                                                   
 30 LDLIBS += -lelf -lz -lrt -lpthread                
 31                                                   
 32 # Silence some warnings when compiled with cla    
 33 ifneq ($(LLVM),)                                  
 34 CFLAGS += -Wno-unused-command-line-argument       
 35 endif                                             
 36                                                   
 37 # Order correspond to 'make run_tests' order      
 38 TEST_GEN_PROGS = hid_bpf hidraw                   
 39                                                   
 40 # Emit succinct information message describing    
 41 # $1 - generic step name (e.g., CC, LINK, etc)    
 42 # $2 - optional "flavor" specifier; if provide    
 43 # $3 - target (assumed to be file); only file     
 44 # $4 - optional extra arg, emitted as-is, if p    
 45 ifeq ($(V),1)                                     
 46 Q =                                               
 47 msg =                                             
 48 else                                              
 49 Q = @                                             
 50 msg = @printf '  %-8s%s %s%s\n' "$(1)" "$(if $    
 51 MAKEFLAGS += --no-print-directory                 
 52 submake_extras := feature_display=0               
 53 endif                                             
 54                                                   
 55 # override lib.mk's default rules                 
 56 OVERRIDE_TARGETS := 1                             
 57 override define CLEAN                             
 58         $(call msg,CLEAN)                         
 59         $(Q)$(RM) -r $(TEST_GEN_PROGS)            
 60         $(Q)$(RM) -r $(EXTRA_CLEAN)               
 61 endef                                             
 62                                                   
 63 include ../lib.mk                                 
 64                                                   
 65 TOOLSDIR := $(top_srcdir)/tools                   
 66 LIBDIR := $(TOOLSDIR)/lib                         
 67 BPFDIR := $(LIBDIR)/bpf                           
 68 TOOLSINCDIR := $(TOOLSDIR)/include                
 69 BPFTOOLDIR := $(TOOLSDIR)/bpf/bpftool             
 70 SCRATCH_DIR := $(OUTPUT)/tools                    
 71 BUILD_DIR := $(SCRATCH_DIR)/build                 
 72 INCLUDE_DIR := $(SCRATCH_DIR)/include             
 73 BPFOBJ := $(BUILD_DIR)/libbpf/libbpf.a            
 74 ifneq ($(CROSS_COMPILE),)                         
 75 HOST_BUILD_DIR          := $(BUILD_DIR)/host      
 76 HOST_SCRATCH_DIR        := $(OUTPUT)/host-tool    
 77 HOST_INCLUDE_DIR        := $(HOST_SCRATCH_DIR)    
 78 else                                              
 79 HOST_BUILD_DIR          := $(BUILD_DIR)           
 80 HOST_SCRATCH_DIR        := $(SCRATCH_DIR)         
 81 HOST_INCLUDE_DIR        := $(INCLUDE_DIR)         
 82 endif                                             
 83 HOST_BPFOBJ := $(HOST_BUILD_DIR)/libbpf/libbpf    
 84 RESOLVE_BTFIDS := $(HOST_BUILD_DIR)/resolve_bt    
 85                                                   
 86 VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux)      
 87                      $(if $(KBUILD_OUTPUT),$(K    
 88                      ../../../../vmlinux          
 89                      /sys/kernel/btf/vmlinux      
 90                      /boot/vmlinux-$(shell una    
 91 VMLINUX_BTF ?= $(abspath $(firstword $(wildcar    
 92 ifeq ($(VMLINUX_BTF),)                            
 93 $(error Cannot find a vmlinux for VMLINUX_BTF     
 94 endif                                             
 95                                                   
 96 # Define simple and short `make test_progs`, `    
 97 # to build individual tests.                      
 98 # NOTE: Semicolon at the end is critical to ov    
 99 # rule for binaries.                              
100 $(notdir $(TEST_GEN_PROGS)): %: $(OUTPUT)/% ;     
101                                                   
102 # sort removes libbpf duplicates when not cros    
103 MAKE_DIRS := $(sort $(BUILD_DIR)/libbpf $(HOST    
104                $(HOST_BUILD_DIR)/bpftool $(HOS    
105                $(INCLUDE_DIR))                    
106 $(MAKE_DIRS):                                     
107         $(call msg,MKDIR,,$@)                     
108         $(Q)mkdir -p $@                           
109                                                   
110 # LLVM's ld.lld doesn't support all the archit    
111 ifeq ($(SRCARCH),x86)                             
112 LLD := lld                                        
113 else                                              
114 LLD := ld                                         
115 endif                                             
116                                                   
117 DEFAULT_BPFTOOL := $(HOST_SCRATCH_DIR)/sbin/bp    
118                                                   
119 TEST_GEN_PROGS_EXTENDED += $(DEFAULT_BPFTOOL)     
120                                                   
121 $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED):     
122                                                   
123 BPFTOOL ?= $(DEFAULT_BPFTOOL)                     
124 $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*    
125                     $(HOST_BPFOBJ) | $(HOST_BU    
126         $(Q)$(MAKE) $(submake_extras)  -C $(BP    
127                     ARCH= CROSS_COMPILE= CC=$(    
128                     EXTRA_CFLAGS='-g -O0'         
129                     OUTPUT=$(HOST_BUILD_DIR)/b    
130                     LIBBPF_OUTPUT=$(HOST_BUILD    
131                     LIBBPF_DESTDIR=$(HOST_SCRA    
132                     prefix= DESTDIR=$(HOST_SCR    
133                                                   
134 $(BPFOBJ): $(wildcard $(BPFDIR)/*.[ch] $(BPFDI    
135            | $(BUILD_DIR)/libbpf                  
136         $(Q)$(MAKE) $(submake_extras) -C $(BPF    
137                     EXTRA_CFLAGS='-g -O0'         
138                     DESTDIR=$(SCRATCH_DIR) pre    
139                                                   
140 ifneq ($(BPFOBJ),$(HOST_BPFOBJ))                  
141 $(HOST_BPFOBJ): $(wildcard $(BPFDIR)/*.[ch] $(    
142                 | $(HOST_BUILD_DIR)/libbpf        
143         $(Q)$(MAKE) $(submake_extras) -C $(BPF    
144                     EXTRA_CFLAGS='-g -O0' ARCH    
145                     OUTPUT=$(HOST_BUILD_DIR)/l    
146                     DESTDIR=$(HOST_SCRATCH_DIR    
147 endif                                             
148                                                   
149 $(INCLUDE_DIR)/vmlinux.h: $(VMLINUX_BTF) $(BPF    
150 ifeq ($(VMLINUX_H),)                              
151         $(call msg,GEN,,$@)                       
152         $(Q)$(BPFTOOL) btf dump file $(VMLINUX    
153 else                                              
154         $(call msg,CP,,$@)                        
155         $(Q)cp "$(VMLINUX_H)" $@                  
156 endif                                             
157                                                   
158 $(RESOLVE_BTFIDS): $(HOST_BPFOBJ) | $(HOST_BUI    
159                        $(TOOLSDIR)/bpf/resolve    
160                        $(TOOLSDIR)/lib/rbtree.    
161                        $(TOOLSDIR)/lib/zalloc.    
162                        $(TOOLSDIR)/lib/string.    
163                        $(TOOLSDIR)/lib/ctype.c    
164                        $(TOOLSDIR)/lib/str_err    
165         $(Q)$(MAKE) $(submake_extras) -C $(TOO    
166                 CC=$(HOSTCC) LD=$(HOSTLD) AR=$    
167                 LIBBPF_INCLUDE=$(HOST_INCLUDE_    
168                 OUTPUT=$(HOST_BUILD_DIR)/resol    
169                                                   
170 # Get Clang's default includes on this system,    
171 # '--target=bpf'. This fixes "missing" files o    
172 # such as asm/byteorder.h, asm/socket.h, asm/s    
173 #                                                 
174 # Use '-idirafter': Don't interfere with inclu    
175 # build would have failed anyways.                
176 define get_sys_includes                           
177 $(shell $(1) -v -E - </dev/null 2>&1 \            
178         | sed -n '/<...> search starts here:/,    
179 $(shell $(1) -dM -E - </dev/null | grep '__ris    
180 endef                                             
181                                                   
182 # Determine target endianness.                    
183 IS_LITTLE_ENDIAN = $(shell $(CC) -dM -E - </de    
184                         grep 'define __BYTE_OR    
185 MENDIAN=$(if $(IS_LITTLE_ENDIAN),-mlittle-endi    
186                                                   
187 CLANG_SYS_INCLUDES = $(call get_sys_includes,$    
188 BPF_CFLAGS = -g -Werror -D__TARGET_ARCH_$(SRCA    
189              -I$(INCLUDE_DIR)                     
190                                                   
191 CLANG_CFLAGS = $(CLANG_SYS_INCLUDES) \            
192                -Wno-compare-distinct-pointer-t    
193                                                   
194 # Build BPF object using Clang                    
195 # $1 - input .c file                              
196 # $2 - output .o file                             
197 # $3 - CFLAGS                                     
198 define CLANG_BPF_BUILD_RULE                       
199         $(call msg,CLNG-BPF,$(TRUNNER_BINARY),    
200         $(Q)$(CLANG) $3 -O2 --target=bpf -c $1    
201 endef                                             
202 # Similar to CLANG_BPF_BUILD_RULE, but with di    
203 define CLANG_NOALU32_BPF_BUILD_RULE               
204         $(call msg,CLNG-BPF,$(TRUNNER_BINARY),    
205         $(Q)$(CLANG) $3 -O2 --target=bpf -c $1    
206 endef                                             
207 # Build BPF object using GCC                      
208 define GCC_BPF_BUILD_RULE                         
209         $(call msg,GCC-BPF,$(TRUNNER_BINARY),$    
210         $(Q)$(BPF_GCC) $3 -O2 -c $1 -o $2         
211 endef                                             
212                                                   
213 BPF_PROGS_DIR := progs                            
214 BPF_BUILD_RULE := CLANG_BPF_BUILD_RULE            
215 BPF_SRCS := $(notdir $(wildcard $(BPF_PROGS_DI    
216 BPF_OBJS := $(patsubst %.c,$(OUTPUT)/%.bpf.o,     
217 BPF_SKELS := $(patsubst %.c,$(OUTPUT)/%.skel.h    
218 TEST_GEN_FILES += $(BPF_OBJS)                     
219                                                   
220 $(BPF_PROGS_DIR)-bpfobjs := y                     
221 $(BPF_OBJS): $(OUTPUT)/%.bpf.o:                   
222              $(BPF_PROGS_DIR)/%.c                 
223              $(wildcard $(BPF_PROGS_DIR)/*.h)     
224              $(INCLUDE_DIR)/vmlinux.h             
225              $(wildcard $(BPFDIR)/hid_bpf_*.h)    
226              $(wildcard $(BPFDIR)/*.bpf.h)        
227              | $(OUTPUT) $(BPFOBJ)                
228         $(call $(BPF_BUILD_RULE),$<,$@, $(BPF_    
229                                                   
230 $(BPF_SKELS): %.skel.h: %.bpf.o $(BPFTOOL) | $    
231         $(call msg,GEN-SKEL,$(BINARY),$@)         
232         $(Q)$(BPFTOOL) gen object $(<:.o=.link    
233         $(Q)$(BPFTOOL) gen skeleton $(<:.o=.li    
234                                                   
235 $(OUTPUT)/%.o: %.c $(BPF_SKELS)                   
236         $(call msg,CC,,$@)                        
237         $(Q)$(CC) $(CFLAGS) -c $(filter %.c,$^    
238                                                   
239 $(OUTPUT)/%: $(OUTPUT)/%.o                        
240         $(call msg,BINARY,,$@)                    
241         $(Q)$(LINK.c) $^ $(LDLIBS) -o $@          
242                                                   
243 EXTRA_CLEAN := $(SCRATCH_DIR) $(HOST_SCRATCH_D    
244         $(addprefix $(OUTPUT)/,*.o *.skel.h no    
                                                      

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