~ [ 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/m68k/Makefile (Version linux-5.3.18)


  1 # SPDX-License-Identifier: GPL-2.0             << 
  2 #                                                   1 #
  3 # Author: Huacai Chen <chenhuacai@loongson.cn>  !!   2 # m68k/Makefile
  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 #                                                   3 #
 21 # Select the object file format to substitute  !!   4 # This file is included by the global makefile so that you can add your own
                                                   >>   5 # architecture-specific flags and dependencies. Remember to do have actions
                                                   >>   6 # for "archclean" and "archdep" for cleaning up and making dependencies for
                                                   >>   7 # this architecture
                                                   >>   8 #
                                                   >>   9 # This file is subject to the terms and conditions of the GNU General Public
                                                   >>  10 # License.  See the file "COPYING" in the main directory of this archive
                                                   >>  11 # for more details.
                                                   >>  12 #
                                                   >>  13 # Copyright (C) 1994 by Hamish Macdonald
                                                   >>  14 # Copyright (C) 2002,2011 Greg Ungerer <gerg@snapgear.com>
 22 #                                                  15 #
 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                                                    16 
 44 ifdef CONFIG_DYNAMIC_FTRACE                    !!  17 KBUILD_DEFCONFIG := multi_defconfig
 45 KBUILD_CPPFLAGS += -DCC_USING_PATCHABLE_FUNCTI << 
 46 CC_FLAGS_FTRACE := -fpatchable-function-entry= << 
 47 endif                                          << 
 48                                                    18 
 49 ifdef CONFIG_64BIT                             !!  19 ifneq ($(SUBARCH),$(ARCH))
 50 tool-archpref           = $(64bit-tool-archpre !!  20         ifeq ($(CROSS_COMPILE),)
 51 UTS_MACHINE             := loongarch64         !!  21                 CROSS_COMPILE := $(call cc-cross-prefix, \
                                                   >>  22                         m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-)
                                                   >>  23         endif
 52 endif                                              24 endif
 53                                                    25 
 54 ifneq ($(SUBARCH),$(ARCH))                     !!  26 #
 55   ifeq ($(CROSS_COMPILE),)                     !!  27 #       Enable processor type. Ordering of these is important - we want to
 56     CROSS_COMPILE := $(call cc-cross-prefix, $ !!  28 #       use the minimum processor type of the range we support. The logic
 57   endif                                        !!  29 #       for 680x0 will only allow use of the -m68060 or -m68040 if no other
 58 endif                                          !!  30 #       680x0 type is specified - and no option is specified for 68030 or
 59                                                !!  31 #       68020. The other m68k/ColdFire types always specify some type of
 60 ifdef CONFIG_64BIT                             !!  32 #       compiler cpu type flag.
 61 ld-emul                 = $(64bit-emul)        !!  33 #
 62 cflags-y                += -mabi=lp64s         !!  34 ifndef CONFIG_M68040
 63 endif                                          !!  35 cpuflags-$(CONFIG_M68060)       := -m68060
 64                                                !!  36 endif
 65 cflags-y                        += -pipe $(CC_ !!  37 ifndef CONFIG_M68060
 66 LDFLAGS_vmlinux                 += -static -n  !!  38 cpuflags-$(CONFIG_M68040)       := -m68040
 67                                                !!  39 endif
 68 # When the assembler supports explicit relocat !!  40 cpuflags-$(CONFIG_M68030)       :=
 69 # GCC may have -mexplicit-relocs off by defaul !!  41 cpuflags-$(CONFIG_M68020)       :=
 70 # assembler, so we force it via an option.     !!  42 cpuflags-$(CONFIG_M68000)       := -m68000
 71 #                                              !!  43 cpuflags-$(CONFIG_M5441x)       := $(call cc-option,-mcpu=54455,-mcfv4e)
 72 # When the assembler does not supports explici !!  44 cpuflags-$(CONFIG_M54xx)        := $(call cc-option,-mcpu=5475,-m5200)
 73 # it.  Disable it if the compiler supports it. !!  45 cpuflags-$(CONFIG_M5407)        := $(call cc-option,-mcpu=5407,-m5200)
 74 #                                              !!  46 cpuflags-$(CONFIG_M532x)        := $(call cc-option,-mcpu=532x,-m5307)
 75 # The combination of a "new" assembler and "ol !!  47 cpuflags-$(CONFIG_M537x)        := $(call cc-option,-mcpu=537x,-m5307)
 76 # the rarity of this combo and the extra compl !!  48 cpuflags-$(CONFIG_M5307)        := $(call cc-option,-mcpu=5307,-m5200)
 77 # Either upgrade the compiler or downgrade the !!  49 cpuflags-$(CONFIG_M528x)        := $(call cc-option,-mcpu=528x,-m5307)
 78 # out if it is the case (by probing for the mo !!  50 cpuflags-$(CONFIG_M5275)        := $(call cc-option,-mcpu=5275,-m5307)
 79 # compilers in this case would have support).  !!  51 cpuflags-$(CONFIG_M5272)        := $(call cc-option,-mcpu=5272,-m5307)
 80 #                                              !!  52 cpuflags-$(CONFIG_M5271)        := $(call cc-option,-mcpu=5271,-m5307)
 81 # Also, -mdirect-extern-access is useful in ca !!  53 cpuflags-$(CONFIG_M523x)        := $(call cc-option,-mcpu=523x,-m5307)
 82 # relocs, for avoiding unnecessary GOT accesse !!  54 cpuflags-$(CONFIG_M525x)        := $(call cc-option,-mcpu=5253,-m5200)
 83 # support though.                              !!  55 cpuflags-$(CONFIG_M5249)        := $(call cc-option,-mcpu=5249,-m5200)
 84 ifdef CONFIG_AS_HAS_EXPLICIT_RELOCS            !!  56 cpuflags-$(CONFIG_M520x)        := $(call cc-option,-mcpu=5208,-m5200)
 85 cflags-y                        += $(call cc-o !!  57 cpuflags-$(CONFIG_M5206e)       := $(call cc-option,-mcpu=5206e,-m5200)
 86 KBUILD_CFLAGS_KERNEL            += $(call cc-o !!  58 cpuflags-$(CONFIG_M5206)        := $(call cc-option,-mcpu=5206,-m5200)
 87 KBUILD_CFLAGS_KERNEL            += $(call cc-o !!  59 
 88 KBUILD_AFLAGS_MODULE            += $(call cc-o !!  60 KBUILD_AFLAGS += $(cpuflags-y)
 89 KBUILD_CFLAGS_MODULE            += $(call cc-o !!  61 KBUILD_CFLAGS += $(cpuflags-y)
                                                   >>  62 
                                                   >>  63 KBUILD_CFLAGS += -pipe -ffreestanding
                                                   >>  64 
                                                   >>  65 ifdef CONFIG_MMU
                                                   >>  66 # without -fno-strength-reduce the 53c7xx.c driver fails ;-(
                                                   >>  67 KBUILD_CFLAGS += -fno-strength-reduce -ffixed-a2
 90 else                                               68 else
 91 cflags-y                        += $(call cc-o !!  69 # we can use a m68k-linux-gcc toolchain with these in place
 92 KBUILD_AFLAGS_KERNEL            += -Wa,-mla-gl !!  70 KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
 93 KBUILD_CFLAGS_KERNEL            += -Wa,-mla-gl !!  71 KBUILD_CFLAGS += -D__uClinux__
 94 KBUILD_AFLAGS_MODULE            += -Wa,-mla-gl !!  72 KBUILD_AFLAGS += -D__uClinux__
 95 KBUILD_CFLAGS_MODULE            += -fplt -Wa,- << 
 96 endif                                              73 endif
 97                                                    74 
 98 KBUILD_AFLAGS                   += $(call cc-o !!  75 KBUILD_LDFLAGS := -m m68kelf
 99 KBUILD_CFLAGS                   += $(call cc-o !!  76 KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
100 KBUILD_AFLAGS                   += $(call cc-o << 
101 KBUILD_CFLAGS                   += $(call cc-o << 
102                                                    77 
103 ifdef CONFIG_OBJTOOL                           !!  78 ifdef CONFIG_SUN3
104 KBUILD_CFLAGS                   += -fno-jump-t !!  79 LDFLAGS_vmlinux = -N
105 endif                                              80 endif
106                                                    81 
107 KBUILD_RUSTFLAGS                += --target=lo !!  82 CHECKFLAGS += -D__mc68000__
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                                                    83 
117 cflags-y += $(call cc-option, -mno-check-zero- << 
118                                                    84 
119 ifndef CONFIG_KASAN                            !!  85 ifdef CONFIG_KGDB
120 cflags-y += -fno-builtin-memcpy -fno-builtin-m !!  86 # If configured for kgdb support, include debugging infos and keep the
                                                   >>  87 # frame pointer
                                                   >>  88 KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
121 endif                                              89 endif
122                                                    90 
123 load-y          = 0x9000000000200000           !!  91 #
124 bootvars-y      = VMLINUX_LOAD_ADDRESS=$(load- !!  92 # Select the assembler head startup code. Order is important. The default
                                                   >>  93 # head code is first, processor specific selections can override it after.
                                                   >>  94 #
                                                   >>  95 head-y                          := arch/m68k/kernel/head.o
                                                   >>  96 head-$(CONFIG_SUN3)             := arch/m68k/kernel/sun3-head.o
                                                   >>  97 head-$(CONFIG_M68000)           := arch/m68k/68000/head.o
                                                   >>  98 head-$(CONFIG_COLDFIRE)         := arch/m68k/coldfire/head.o
125                                                    99 
126 drivers-$(CONFIG_PCI)           += arch/loonga !! 100 core-y                          += arch/m68k/kernel/    arch/m68k/mm/
                                                   >> 101 libs-y                          += arch/m68k/lib/
127                                                   102 
128 KBUILD_AFLAGS   += $(cflags-y)                 !! 103 core-$(CONFIG_Q40)              += arch/m68k/q40/
129 KBUILD_CFLAGS   += $(cflags-y)                 !! 104 core-$(CONFIG_AMIGA)            += arch/m68k/amiga/
130 KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(lo !! 105 core-$(CONFIG_ATARI)            += arch/m68k/atari/
                                                   >> 106 core-$(CONFIG_MAC)              += arch/m68k/mac/
                                                   >> 107 core-$(CONFIG_HP300)            += arch/m68k/hp300/
                                                   >> 108 core-$(CONFIG_APOLLO)           += arch/m68k/apollo/
                                                   >> 109 core-$(CONFIG_MVME147)          += arch/m68k/mvme147/
                                                   >> 110 core-$(CONFIG_MVME16x)          += arch/m68k/mvme16x/
                                                   >> 111 core-$(CONFIG_BVME6000)         += arch/m68k/bvme6000/
                                                   >> 112 core-$(CONFIG_SUN3X)            += arch/m68k/sun3x/     arch/m68k/sun3/
                                                   >> 113 core-$(CONFIG_SUN3)             += arch/m68k/sun3/      arch/m68k/sun3/prom/
                                                   >> 114 core-$(CONFIG_NATFEAT)          += arch/m68k/emu/
                                                   >> 115 core-$(CONFIG_M68040)           += arch/m68k/fpsp040/
                                                   >> 116 core-$(CONFIG_M68060)           += arch/m68k/ifpsp060/
                                                   >> 117 core-$(CONFIG_M68KFPU_EMU)      += arch/m68k/math-emu/
                                                   >> 118 core-$(CONFIG_M68000)           += arch/m68k/68000/
                                                   >> 119 core-$(CONFIG_COLDFIRE)         += arch/m68k/coldfire/
131                                                   120 
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                                                   121 
136 ifdef CONFIG_ARCH_STRICT_ALIGN                 !! 122 all:    zImage
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                                                   123 
146 KBUILD_CFLAGS += -isystem $(shell $(CC) -print !! 124 lilo:   vmlinux
                                                   >> 125         if [ -f $(INSTALL_PATH)/vmlinux ]; then mv -f $(INSTALL_PATH)/vmlinux $(INSTALL_PATH)/vmlinux.old; fi
                                                   >> 126         if [ -f $(INSTALL_PATH)/System.map ]; then mv -f $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi
                                                   >> 127         cat vmlinux > $(INSTALL_PATH)/vmlinux
                                                   >> 128         cp System.map $(INSTALL_PATH)/System.map
                                                   >> 129         if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
147                                                   130 
148 KBUILD_LDFLAGS  += -m $(ld-emul)               !! 131 zImage compressed: vmlinux.gz
149                                                   132 
150 ifdef need-compiler                            !! 133 vmlinux.gz: vmlinux
151 CHECKFLAGS += $(shell $(CC) $(KBUILD_CPPFLAGS) << 
152         grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL << 
153         sed -e "s/^\#define /-D'/" -e "s/ /'=' << 
154 endif                                          << 
155                                                   134 
156 libs-y += arch/loongarch/lib/                  !! 135 ifndef CONFIG_KGDB
157 libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/ !! 136         cp vmlinux vmlinux.tmp
                                                   >> 137         $(STRIP) vmlinux.tmp
                                                   >> 138         gzip -9c vmlinux.tmp >vmlinux.gz
                                                   >> 139         rm vmlinux.tmp
                                                   >> 140 else
                                                   >> 141         gzip -9c vmlinux >vmlinux.gz
                                                   >> 142 endif
158                                                   143 
159 drivers-y               += arch/loongarch/cryp !! 144 bzImage: vmlinux.bz2
160                                                   145 
161 # suspend and hibernation support              !! 146 vmlinux.bz2: vmlinux
162 drivers-$(CONFIG_PM)    += arch/loongarch/powe << 
163                                                   147 
164 ifeq ($(KBUILD_EXTMOD),)                       !! 148 ifndef CONFIG_KGDB
165 prepare: vdso_prepare                          !! 149         cp vmlinux vmlinux.tmp
166 vdso_prepare: prepare0                         !! 150         $(STRIP) vmlinux.tmp
167         $(Q)$(MAKE) $(build)=arch/loongarch/vd !! 151         bzip2 -1c vmlinux.tmp >vmlinux.bz2
                                                   >> 152         rm vmlinux.tmp
                                                   >> 153 else
                                                   >> 154         bzip2 -1c vmlinux >vmlinux.bz2
168 endif                                             155 endif
169                                                   156 
170 vdso-install-y += arch/loongarch/vdso/vdso.so. !! 157 archclean:
171                                                !! 158         rm -f vmlinux.gz vmlinux.bz2
172 all:    $(notdir $(KBUILD_IMAGE)) $(KBUILD_DTB << 
173                                                << 
174 vmlinuz.efi: vmlinux.efi                       << 
175                                                   159 
176 vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux   !! 160 archheaders:
177         $(Q)$(MAKE) $(build)=$(boot) $(bootvar !! 161         $(Q)$(MAKE) $(build)=arch/m68k/kernel/syscalls all
178                                                   162 
179 install:                                          163 install:
180         $(Q)install -D -m 755 $(KBUILD_IMAGE)  !! 164         sh $(srctree)/arch/m68k/install.sh $(KERNELRELEASE) vmlinux.gz System.map "$(INSTALL_PATH)"
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