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

TOMOYO Linux Cross Reference
Linux/arch/loongarch/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 /arch/loongarch/Makefile (Version linux-6.12-rc7) and /arch/i386/Makefile (Version linux-4.11.12)


  1 # SPDX-License-Identifier: GPL-2.0                
  2 #                                                 
  3 # Author: Huacai Chen <chenhuacai@loongson.cn>     
  4 # Copyright (C) 2020-2022 Loongson Technology     
  5                                                   
  6 boot    := arch/loongarch/boot                    
  7                                                   
  8 KBUILD_DEFCONFIG := loongson3_defconfig           
  9 KBUILD_DTBS      := dtbs                          
 10                                                   
 11 image-name-y                    := vmlinux        
 12 image-name-$(CONFIG_EFI_ZBOOT)  := vmlinuz        
 13                                                   
 14 ifndef CONFIG_EFI_STUB                            
 15 KBUILD_IMAGE    := $(boot)/vmlinux.elf            
 16 else                                              
 17 KBUILD_IMAGE    := $(boot)/$(image-name-y).efi    
 18 endif                                             
 19                                                   
 20 #                                                 
 21 # Select the object file format to substitute     
 22 #                                                 
 23 64bit-tool-archpref     = loongarch64             
 24 32bit-bfd               = elf32-loongarch         
 25 64bit-bfd               = elf64-loongarch         
 26 32bit-emul              = elf32loongarch          
 27 64bit-emul              = elf64loongarch          
 28                                                   
 29 CC_FLAGS_FPU            := -mfpu=64               
 30 CC_FLAGS_NO_FPU         := -msoft-float           
 31                                                   
 32 ifdef CONFIG_UNWINDER_ORC                         
 33 orc_hash_h := arch/$(SRCARCH)/include/generate    
 34 orc_hash_sh := $(srctree)/scripts/orc_hash.sh     
 35 targets += $(orc_hash_h)                          
 36 quiet_cmd_orc_hash = GEN     $@                   
 37       cmd_orc_hash = mkdir -p $(dir $@); \        
 38                      $(CONFIG_SHELL) $(orc_has    
 39 $(orc_hash_h): $(srctree)/arch/loongarch/inclu    
 40         $(call if_changed,orc_hash)               
 41 archprepare: $(orc_hash_h)                        
 42 endif                                             
 43                                                   
 44 ifdef CONFIG_DYNAMIC_FTRACE                       
 45 KBUILD_CPPFLAGS += -DCC_USING_PATCHABLE_FUNCTI    
 46 CC_FLAGS_FTRACE := -fpatchable-function-entry=    
 47 endif                                             
 48                                                   
 49 ifdef CONFIG_64BIT                                
 50 tool-archpref           = $(64bit-tool-archpre    
 51 UTS_MACHINE             := loongarch64            
 52 endif                                             
 53                                                   
 54 ifneq ($(SUBARCH),$(ARCH))                        
 55   ifeq ($(CROSS_COMPILE),)                        
 56     CROSS_COMPILE := $(call cc-cross-prefix, $    
 57   endif                                           
 58 endif                                             
 59                                                   
 60 ifdef CONFIG_64BIT                                
 61 ld-emul                 = $(64bit-emul)           
 62 cflags-y                += -mabi=lp64s            
 63 endif                                             
 64                                                   
 65 cflags-y                        += -pipe $(CC_    
 66 LDFLAGS_vmlinux                 += -static -n     
 67                                                   
 68 # When the assembler supports explicit relocat    
 69 # GCC may have -mexplicit-relocs off by defaul    
 70 # assembler, so we force it via an option.        
 71 #                                                 
 72 # When the assembler does not supports explici    
 73 # it.  Disable it if the compiler supports it.    
 74 #                                                 
 75 # The combination of a "new" assembler and "ol    
 76 # the rarity of this combo and the extra compl    
 77 # Either upgrade the compiler or downgrade the    
 78 # out if it is the case (by probing for the mo    
 79 # compilers in this case would have support).     
 80 #                                                 
 81 # Also, -mdirect-extern-access is useful in ca    
 82 # relocs, for avoiding unnecessary GOT accesse    
 83 # support though.                                 
 84 ifdef CONFIG_AS_HAS_EXPLICIT_RELOCS               
 85 cflags-y                        += $(call cc-o    
 86 KBUILD_CFLAGS_KERNEL            += $(call cc-o    
 87 KBUILD_CFLAGS_KERNEL            += $(call cc-o    
 88 KBUILD_AFLAGS_MODULE            += $(call cc-o    
 89 KBUILD_CFLAGS_MODULE            += $(call cc-o    
 90 else                                              
 91 cflags-y                        += $(call cc-o    
 92 KBUILD_AFLAGS_KERNEL            += -Wa,-mla-gl    
 93 KBUILD_CFLAGS_KERNEL            += -Wa,-mla-gl    
 94 KBUILD_AFLAGS_MODULE            += -Wa,-mla-gl    
 95 KBUILD_CFLAGS_MODULE            += -fplt -Wa,-    
 96 endif                                             
 97                                                   
 98 KBUILD_AFLAGS                   += $(call cc-o    
 99 KBUILD_CFLAGS                   += $(call cc-o    
100 KBUILD_AFLAGS                   += $(call cc-o    
101 KBUILD_CFLAGS                   += $(call cc-o    
102                                                   
103 ifdef CONFIG_OBJTOOL                              
104 KBUILD_CFLAGS                   += -fno-jump-t    
105 endif                                             
106                                                   
107 KBUILD_RUSTFLAGS                += --target=lo    
108 KBUILD_RUSTFLAGS_KERNEL         += -Zdirect-ac    
109 KBUILD_RUSTFLAGS_MODULE         += -Zdirect-ac    
110                                                   
111 ifeq ($(CONFIG_RELOCATABLE),y)                    
112 KBUILD_CFLAGS_KERNEL            += -fPIE          
113 KBUILD_RUSTFLAGS_KERNEL         += -Crelocatio    
114 LDFLAGS_vmlinux                 += -static -pi    
115 endif                                             
116                                                   
117 cflags-y += $(call cc-option, -mno-check-zero-    
118                                                   
119 ifndef CONFIG_KASAN                               
120 cflags-y += -fno-builtin-memcpy -fno-builtin-m    
121 endif                                             
122                                                   
123 load-y          = 0x9000000000200000              
124 bootvars-y      = VMLINUX_LOAD_ADDRESS=$(load-    
125                                                   
126 drivers-$(CONFIG_PCI)           += arch/loonga    
127                                                   
128 KBUILD_AFLAGS   += $(cflags-y)                    
129 KBUILD_CFLAGS   += $(cflags-y)                    
130 KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(lo    
131                                                   
132 # This is required to get dwarf unwinding tabl    
133 # instead of .eh_frame so we don't discard the    
134 KBUILD_CFLAGS += -fno-asynchronous-unwind-tabl    
135                                                   
136 ifdef CONFIG_ARCH_STRICT_ALIGN                    
137 # Don't emit unaligned accesses.                  
138 # Not all LoongArch cores support unaligned ac    
139 # rely on others to provide emulation for thes    
140 KBUILD_CFLAGS += $(call cc-option,-mstrict-ali    
141 else                                              
142 # Optimise for performance on hardware support    
143 KBUILD_CFLAGS += $(call cc-option,-mno-strict-    
144 endif                                             
145                                                   
146 KBUILD_CFLAGS += -isystem $(shell $(CC) -print    
147                                                   
148 KBUILD_LDFLAGS  += -m $(ld-emul)                  
149                                                   
150 ifdef need-compiler                               
151 CHECKFLAGS += $(shell $(CC) $(KBUILD_CPPFLAGS)    
152         grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL    
153         sed -e "s/^\#define /-D'/" -e "s/ /'='    
154 endif                                             
155                                                   
156 libs-y += arch/loongarch/lib/                     
157 libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/    
158                                                   
159 drivers-y               += arch/loongarch/cryp    
160                                                   
161 # suspend and hibernation support                 
162 drivers-$(CONFIG_PM)    += arch/loongarch/powe    
163                                                   
164 ifeq ($(KBUILD_EXTMOD),)                          
165 prepare: vdso_prepare                             
166 vdso_prepare: prepare0                            
167         $(Q)$(MAKE) $(build)=arch/loongarch/vd    
168 endif                                             
169                                                   
170 vdso-install-y += arch/loongarch/vdso/vdso.so.    
171                                                   
172 all:    $(notdir $(KBUILD_IMAGE)) $(KBUILD_DTB    
173                                                   
174 vmlinuz.efi: vmlinux.efi                          
175                                                   
176 vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux      
177         $(Q)$(MAKE) $(build)=$(boot) $(bootvar    
178                                                   
179 install:                                          
180         $(Q)install -D -m 755 $(KBUILD_IMAGE)     
181         $(Q)install -D -m 644 .config $(INSTAL    
182         $(Q)install -D -m 644 System.map $(INS    
183                                                   
184 define archhelp                                   
185         echo '  install              - install    
186         echo                                      
187 endef                                             
                                                      

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