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

TOMOYO Linux Cross Reference
Linux/tools/scripts/Makefile.include

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/scripts/Makefile.include (Version linux-6.12-rc7) and /tools/scripts/Makefile.include (Version linux-2.6.0)


  1 # SPDX-License-Identifier: GPL-2.0                
  2 ifneq ($(O),)                                     
  3 ifeq ($(origin O), command line)                  
  4         $(if $(shell cd $(PWD); test -d $(O) |    
  5         ABSOLUTE_O := $(shell cd $(PWD); cd $(    
  6         OUTPUT := $(ABSOLUTE_O)/$(if $(subdir)    
  7         COMMAND_O := O=$(ABSOLUTE_O)              
  8 ifeq ($(objtree),)                                
  9         objtree := $(O)                           
 10 endif                                             
 11 endif                                             
 12 endif                                             
 13                                                   
 14 # check that the output directory actually exi    
 15 ifneq ($(OUTPUT),)                                
 16 OUTDIR := $(shell cd $(OUTPUT) && pwd)            
 17 $(if $(OUTDIR),, $(error output directory "$(O    
 18 endif                                             
 19                                                   
 20 #                                                 
 21 # Include saner warnings here, which can catch    
 22 #                                                 
 23 EXTRA_WARNINGS := -Wbad-function-cast             
 24 EXTRA_WARNINGS += -Wdeclaration-after-statemen    
 25 EXTRA_WARNINGS += -Wformat-security               
 26 EXTRA_WARNINGS += -Wformat-y2k                    
 27 EXTRA_WARNINGS += -Winit-self                     
 28 EXTRA_WARNINGS += -Wmissing-declarations          
 29 EXTRA_WARNINGS += -Wmissing-prototypes            
 30 EXTRA_WARNINGS += -Wnested-externs                
 31 EXTRA_WARNINGS += -Wno-system-headers             
 32 EXTRA_WARNINGS += -Wold-style-definition          
 33 EXTRA_WARNINGS += -Wpacked                        
 34 EXTRA_WARNINGS += -Wredundant-decls               
 35 EXTRA_WARNINGS += -Wstrict-prototypes             
 36 EXTRA_WARNINGS += -Wswitch-default                
 37 EXTRA_WARNINGS += -Wswitch-enum                   
 38 EXTRA_WARNINGS += -Wundef                         
 39 EXTRA_WARNINGS += -Wwrite-strings                 
 40 EXTRA_WARNINGS += -Wformat                        
 41 EXTRA_WARNINGS += -Wno-type-limits                
 42                                                   
 43 # Makefiles suck: This macro sets a default va    
 44 # variable named by $(1), unless the variable     
 45 # environment or command line. This is necessa    
 46 # because make sets default values, so the sim    
 47 # won't work as expected.                         
 48 define allow-override                             
 49   $(if $(or $(findstring environment,$(origin     
 50             $(findstring command line,$(origin    
 51     $(eval $(1) = $(2)))                          
 52 endef                                             
 53                                                   
 54 ifneq ($(LLVM),)                                  
 55 ifneq ($(filter %/,$(LLVM)),)                     
 56 LLVM_PREFIX := $(LLVM)                            
 57 else ifneq ($(filter -%,$(LLVM)),)                
 58 LLVM_SUFFIX := $(LLVM)                            
 59 endif                                             
 60                                                   
 61 $(call allow-override,CC,$(LLVM_PREFIX)clang$(    
 62 $(call allow-override,AR,$(LLVM_PREFIX)llvm-ar    
 63 $(call allow-override,LD,$(LLVM_PREFIX)ld.lld$    
 64 $(call allow-override,CXX,$(LLVM_PREFIX)clang+    
 65 $(call allow-override,STRIP,$(LLVM_PREFIX)llvm    
 66 else                                              
 67 # Allow setting various cross-compile vars or     
 68 $(call allow-override,CC,$(CROSS_COMPILE)gcc)     
 69 $(call allow-override,AR,$(CROSS_COMPILE)ar)      
 70 $(call allow-override,LD,$(CROSS_COMPILE)ld)      
 71 $(call allow-override,CXX,$(CROSS_COMPILE)g++)    
 72 $(call allow-override,STRIP,$(CROSS_COMPILE)st    
 73 endif                                             
 74                                                   
 75 CC_NO_CLANG := $(shell $(CC) -dM -E -x c /dev/    
 76                                                   
 77 ifneq ($(LLVM),)                                  
 78 HOSTAR  ?= $(LLVM_PREFIX)llvm-ar$(LLVM_SUFFIX)    
 79 HOSTCC  ?= $(LLVM_PREFIX)clang$(LLVM_SUFFIX)      
 80 HOSTLD  ?= $(LLVM_PREFIX)ld.lld$(LLVM_SUFFIX)     
 81 else                                              
 82 HOSTAR  ?= ar                                     
 83 HOSTCC  ?= gcc                                    
 84 HOSTLD  ?= ld                                     
 85 endif                                             
 86                                                   
 87 # Some tools require Clang, LLC and/or LLVM ut    
 88 CLANG           ?= clang                          
 89 LLC             ?= llc                            
 90 LLVM_CONFIG     ?= llvm-config                    
 91 LLVM_OBJCOPY    ?= llvm-objcopy                   
 92 LLVM_STRIP      ?= llvm-strip                     
 93                                                   
 94 ifeq ($(CC_NO_CLANG), 1)                          
 95 EXTRA_WARNINGS += -Wstrict-aliasing=3             
 96                                                   
 97 else ifneq ($(CROSS_COMPILE),)                    
 98 # Allow userspace to override CLANG_CROSS_FLAG    
 99 # sysroots and flags or to avoid the GCC call     
100 ifeq ($(CLANG_CROSS_FLAGS),)                      
101 CLANG_CROSS_FLAGS := --target=$(notdir $(CROSS    
102 GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CRO    
103 ifneq ($(GCC_TOOLCHAIN_DIR),)                     
104 CLANG_CROSS_FLAGS += --prefix=$(GCC_TOOLCHAIN_    
105 CLANG_CROSS_FLAGS += --sysroot=$(shell $(CROSS    
106 CLANG_CROSS_FLAGS += --gcc-toolchain=$(realpat    
107 endif # GCC_TOOLCHAIN_DIR                         
108 endif # CLANG_CROSS_FLAGS                         
109 CFLAGS += $(CLANG_CROSS_FLAGS)                    
110 AFLAGS += $(CLANG_CROSS_FLAGS)                    
111 else                                              
112 CLANG_CROSS_FLAGS :=                              
113 endif # CROSS_COMPILE                             
114                                                   
115 # Hack to avoid type-punned warnings on old sy    
116 # We should be changing CFLAGS and checking gc    
117 # will do for now and keep the above -Wstrict-    
118 # in newer systems.                               
119 # Needed for the __raw_cmpxchg in tools/arch/x    
120 #                                                 
121 # See https://lore.kernel.org/lkml/9a874849061    
122 # and https://gcc.gnu.org/gcc-4.8/changes.html    
123 # that takes into account Linus's comments (se    
124 # -Wshadow not being interesting before gcc 4.    
125                                                   
126 ifneq ($(filter 3.%,$(MAKE_VERSION)),)  # make    
127 EXTRA_WARNINGS += -fno-strict-aliasing            
128 EXTRA_WARNINGS += -Wno-shadow                     
129 else                                              
130 EXTRA_WARNINGS += -Wshadow                        
131 endif                                             
132                                                   
133 ifneq ($(findstring $(MAKEFLAGS), w),w)           
134 PRINT_DIR = --no-print-directory                  
135 else                                              
136 NO_SUBDIR = :                                     
137 endif                                             
138                                                   
139 # If the user is running make -s (silent mode)    
140 # make-4.0 (and later) keep single letter opti    
141 ifeq ($(filter 3.%,$(MAKE_VERSION)),)             
142 short-opts := $(firstword -$(MAKEFLAGS))          
143 else                                              
144 short-opts := $(filter-out --%,$(MAKEFLAGS))      
145 endif                                             
146                                                   
147 ifneq ($(findstring s,$(short-opts)),)            
148   silent=1                                        
149 endif                                             
150                                                   
151 #                                                 
152 # Define a callable command for descending to     
153 #                                                 
154 # Call by doing: $(call descend,directory[,tar    
155 #                                                 
156 descend = \                                       
157         +mkdir -p $(OUTPUT)$(1) && \              
158         $(MAKE) $(COMMAND_O) subdir=$(if $(sub    
159                                                   
160 QUIET_SUBDIR0  = +$(MAKE) $(COMMAND_O) -C # sp    
161 QUIET_SUBDIR1  =                                  
162                                                   
163 ifneq ($(silent),1)                               
164   ifneq ($(V),1)                                  
165         QUIET_CC       = @echo '  CC      '$@;    
166         QUIET_CC_FPIC  = @echo '  CC FPIC '$@;    
167         QUIET_CLANG    = @echo '  CLANG   '$@;    
168         QUIET_AR       = @echo '  AR      '$@;    
169         QUIET_LINK     = @echo '  LINK    '$@;    
170         QUIET_MKDIR    = @echo '  MKDIR   '$@;    
171         QUIET_GEN      = @echo '  GEN     '$@;    
172         QUIET_SUBDIR0  = +@subdir=                
173         QUIET_SUBDIR1  = ;$(NO_SUBDIR) \          
174                           echo '  SUBDIR  '$$s    
175                          $(MAKE) $(PRINT_DIR)     
176         QUIET_FLEX     = @echo '  FLEX    '$@;    
177         QUIET_BISON    = @echo '  BISON   '$@;    
178         QUIET_GENSKEL  = @echo '  GENSKEL '$@;    
179                                                   
180         descend = \                               
181                 +@echo         '  DESCEND '$(1    
182                 mkdir -p $(OUTPUT)$(1) && \       
183                 $(MAKE) $(COMMAND_O) subdir=$(    
184                                                   
185         QUIET_CLEAN    = @printf '  CLEAN   %s    
186         QUIET_INSTALL  = @printf '  INSTALL %s    
187         QUIET_UNINST   = @printf '  UNINST  %s    
188   endif                                           
189 endif                                             
190                                                   
191 pound := \#                                       
                                                      

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