>> 1 # SPDX-License-Identifier: GPL-2.0 1 # 2 # 2 # m68k/Makefile !! 3 # sparc/Makefile 3 # 4 # 4 # This file is included by the global makefile !! 5 # Makefile for the architecture dependent flags and dependencies on the 5 # architecture-specific flags and dependencies !! 6 # Sparc and sparc64. 6 # << 7 # This file is subject to the terms and condit << 8 # License. See the file "COPYING" in the main << 9 # for more details. << 10 # << 11 # Copyright (C) 1994 by Hamish Macdonald << 12 # Copyright (C) 2002,2011 Greg Ungerer <gerg@sn << 13 # 7 # >> 8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) >> 9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 14 10 15 KBUILD_DEFCONFIG := multi_defconfig !! 11 # We are not yet configured - so test on arch 16 !! 12 ifeq ($(ARCH),sparc64) 17 ifdef cross_compiling !! 13 KBUILD_DEFCONFIG := sparc64_defconfig 18 ifeq ($(CROSS_COMPILE),) !! 14 else 19 CROSS_COMPILE := $(call cc-cro !! 15 KBUILD_DEFCONFIG := sparc32_defconfig 20 m68k-linux-gnu- m68k-l << 21 endif << 22 endif 16 endif 23 17 >> 18 ifeq ($(CONFIG_SPARC32),y) >> 19 ##### >> 20 # sparc32 24 # 21 # 25 # Enable processor type. Ordering of the << 26 # use the minimum processor type of the << 27 # for 680x0 will only allow use of the - << 28 # 680x0 type is specified - and no optio << 29 # 68020. The other m68k/ColdFire types a << 30 # compiler cpu type flag. << 31 # << 32 ifndef CONFIG_M68040 << 33 cpuflags-$(CONFIG_M68060) = -m68060 << 34 endif << 35 ifndef CONFIG_M68060 << 36 cpuflags-$(CONFIG_M68040) = -m68040 << 37 endif << 38 cpuflags-$(CONFIG_M68030) = << 39 cpuflags-$(CONFIG_M68020) = << 40 cpuflags-$(CONFIG_M68000) = -m68000 << 41 cpuflags-$(CONFIG_M5441x) = $(call cc-op << 42 cpuflags-$(CONFIG_M54xx) = $(call cc-op << 43 cpuflags-$(CONFIG_M5407) = $(call cc-op << 44 cpuflags-$(CONFIG_M532x) = $(call cc-op << 45 cpuflags-$(CONFIG_M537x) = $(call cc-op << 46 cpuflags-$(CONFIG_M5307) = $(call cc-op << 47 cpuflags-$(CONFIG_M528x) = $(call cc-op << 48 cpuflags-$(CONFIG_M5275) = $(call cc-op << 49 cpuflags-$(CONFIG_M5272) = $(call cc-op << 50 cpuflags-$(CONFIG_M5271) = $(call cc-op << 51 cpuflags-$(CONFIG_M523x) = $(call cc-op << 52 cpuflags-$(CONFIG_M525x) = $(call cc-op << 53 cpuflags-$(CONFIG_M5249) = $(call cc-op << 54 cpuflags-$(CONFIG_M520x) = $(call cc-op << 55 cpuflags-$(CONFIG_M5206e) = $(call cc-op << 56 cpuflags-$(CONFIG_M5206) = $(call cc-op << 57 << 58 # Evaluate tune cc-option calls now << 59 cpuflags-y := $(cpuflags-y) << 60 22 61 KBUILD_AFLAGS += $(cpuflags-y) !! 23 CHECKFLAGS += -D__sparc__ 62 KBUILD_CFLAGS += $(cpuflags-y) !! 24 KBUILD_LDFLAGS := -m elf32_sparc >> 25 export BITS := 32 >> 26 UTS_MACHINE := sparc 63 27 64 KBUILD_CFLAGS += -pipe -ffreestanding !! 28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some >> 29 # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you >> 30 # give -mcpu=v8. This silently worked with older bintutils versions but >> 31 # does not any more. >> 32 KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 >> 33 KBUILD_CFLAGS += -Wa,-Av8 65 34 66 ifdef CONFIG_MMU !! 35 KBUILD_AFLAGS += -m32 -Wa,-Av8 67 KBUILD_CFLAGS += -ffixed-a2 << 68 else << 69 # we can use a m68k-linux-gcc toolchain with t << 70 KBUILD_CPPFLAGS += -DUTS_SYSNAME=\"uClinux\" << 71 KBUILD_CPPFLAGS += -D__uClinux__ << 72 endif << 73 << 74 KBUILD_LDFLAGS := -m m68kelf << 75 36 76 ifdef CONFIG_SUN3 !! 37 else 77 LDFLAGS_vmlinux = -N !! 38 ##### 78 endif !! 39 # sparc64 >> 40 # 79 41 80 CHECKFLAGS += -D__mc68000__ !! 42 CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ >> 43 KBUILD_LDFLAGS := -m elf64_sparc >> 44 export BITS := 64 >> 45 UTS_MACHINE := sparc64 81 46 >> 47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow >> 48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare >> 49 KBUILD_CFLAGS += -Wa,--undeclared-regs >> 50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) >> 51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs 82 52 83 ifdef CONFIG_KGDB !! 53 ifeq ($(CONFIG_MCOUNT),y) 84 # If configured for kgdb support, include debu !! 54 KBUILD_CFLAGS += -pg 85 # frame pointer << 86 KBUILD_CFLAGS := $(subst -fomit-frame-pointer, << 87 endif 55 endif 88 56 89 libs-y += arch/m68k/l !! 57 endif 90 << 91 58 92 all: zImage !! 59 libs-y += arch/sparc/prom/ >> 60 libs-y += arch/sparc/lib/ 93 61 94 lilo: vmlinux !! 62 drivers-$(CONFIG_PM) += arch/sparc/power/ 95 if [ -f $(INSTALL_PATH)/vmlinux ]; the !! 63 drivers-$(CONFIG_VIDEO) += arch/sparc/video/ 96 if [ -f $(INSTALL_PATH)/System.map ]; << 97 cat vmlinux > $(INSTALL_PATH)/vmlinux << 98 cp System.map $(INSTALL_PATH)/System.m << 99 if [ -x /sbin/lilo ]; then /sbin/lilo; << 100 64 101 zImage compressed: vmlinux.gz !! 65 boot := arch/sparc/boot 102 66 103 vmlinux.gz: vmlinux !! 67 # Default target >> 68 all: zImage 104 69 105 ifndef CONFIG_KGDB !! 70 image zImage uImage tftpboot.img vmlinux.aout: vmlinux 106 cp vmlinux vmlinux.tmp !! 71 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 107 $(STRIP) vmlinux.tmp << 108 $(KGZIP) -9c vmlinux.tmp >vmlinux.gz << 109 rm vmlinux.tmp << 110 else << 111 $(KGZIP) -9c vmlinux >vmlinux.gz << 112 endif << 113 72 114 bzImage: vmlinux.bz2 !! 73 install: 115 !! 74 $(call cmd,install) 116 vmlinux.bz2: vmlinux << 117 75 118 ifndef CONFIG_KGDB !! 76 archheaders: 119 cp vmlinux vmlinux.tmp !! 77 $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all 120 $(STRIP) vmlinux.tmp << 121 $(KBZIP2) -1c vmlinux.tmp >vmlinux.bz2 << 122 rm vmlinux.tmp << 123 else << 124 $(KBZIP2) -1c vmlinux >vmlinux.bz2 << 125 endif << 126 78 127 CLEAN_FILES += vmlinux.gz vmlinux.bz2 !! 79 vdso-install-$(CONFIG_SPARC64) += arch/sparc/vdso/vdso64.so.dbg >> 80 vdso-install-$(CONFIG_COMPAT) += arch/sparc/vdso/vdso32.so.dbg 128 81 129 archheaders: !! 82 # This is the image used for packaging 130 $(Q)$(MAKE) $(build)=arch/m68k/kernel/ !! 83 KBUILD_IMAGE := $(boot)/zImage 131 84 132 install: KBUILD_IMAGE := vmlinux.gz !! 85 # Don't use tabs in echo arguments. 133 install: !! 86 define archhelp 134 $(call cmd,install) !! 87 echo '* vmlinux - standard SPARC kernel' >> 88 echo ' image - kernel image ($(boot)/image)' >> 89 echo '* zImage - stripped/compressed kernel image ($(boot)/zImage)' >> 90 echo ' uImage - U-Boot SPARC32 Image (only for LEON)' >> 91 echo ' vmlinux.aout - a.out kernel for SPARC64' >> 92 echo ' tftpboot.img - image prepared for tftp' >> 93 endef
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.