1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# sparc/Makefile 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds# Makefile for the architecture dependent flags and dependencies on the 65e538790SSam Ravnborg# Sparc and sparc64. 71da177e4SLinus Torvalds# 85e538790SSam Ravnborg# Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) 95e538790SSam Ravnborg# Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 105e538790SSam Ravnborg 115e538790SSam Ravnborg# We are not yet configured - so test on arch 12c84ca616SMasahiro Yamadaifeq ($(ARCH),sparc64) 135e538790SSam Ravnborg KBUILD_DEFCONFIG := sparc64_defconfig 14c84ca616SMasahiro Yamadaelse 15c84ca616SMasahiro Yamada KBUILD_DEFCONFIG := sparc32_defconfig 165e538790SSam Ravnborgendif 175e538790SSam Ravnborg 185e538790SSam Ravnborgifeq ($(CONFIG_SPARC32),y) 195e538790SSam Ravnborg##### 205e538790SSam Ravnborg# sparc32 211da177e4SLinus Torvalds# 221da177e4SLinus Torvalds 231da177e4SLinus TorvaldsCHECKFLAGS += -D__sparc__ 24d503ac53SMasahiro YamadaKBUILD_LDFLAGS := -m elf32_sparc 25b0cdd599SSam Ravnborgexport BITS := 32 267f5620a5SDavid S. MillerUTS_MACHINE := sparc 271da177e4SLinus Torvalds 2822be3b10SDavid S. Miller# We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some 2922be3b10SDavid S. Miller# versions of gcc. Some gcc versions won't pass -Av8 to binutils when you 3022be3b10SDavid S. Miller# give -mcpu=v8. This silently worked with older bintutils versions but 3122be3b10SDavid S. Miller# does not any more. 32*69114be1SKoakumaKBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu $(call cc-option,-fcall-used-g5) $(call cc-option,-fcall-used-g7) 3322be3b10SDavid S. MillerKBUILD_CFLAGS += -Wa,-Av8 3422be3b10SDavid S. Miller 35e0adb990SDavid S. MillerKBUILD_AFLAGS += -m32 -Wa,-Av8 361da177e4SLinus Torvalds 375e538790SSam Ravnborgelse 385e538790SSam Ravnborg##### 395e538790SSam Ravnborg# sparc64 405e538790SSam Ravnborg# 415e538790SSam Ravnborg 421f2f01b1SLuc Van OostenryckCHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ 43d503ac53SMasahiro YamadaKBUILD_LDFLAGS := -m elf64_sparc 445e538790SSam Ravnborgexport BITS := 64 457f5620a5SDavid S. MillerUTS_MACHINE := sparc64 465e538790SSam Ravnborg 4738753586SSam RavnborgKBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow 48*69114be1SKoakumaKBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 $(call cc-option,-fcall-used-g7) -Wno-sign-compare 4938753586SSam RavnborgKBUILD_CFLAGS += -Wa,--undeclared-regs 505e538790SSam RavnborgKBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) 515e538790SSam RavnborgKBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs 525e538790SSam Ravnborg 535e538790SSam Ravnborgifeq ($(CONFIG_MCOUNT),y) 545e538790SSam Ravnborg KBUILD_CFLAGS += -pg 555e538790SSam Ravnborgendif 565e538790SSam Ravnborg 575e538790SSam Ravnborgendif 585e538790SSam Ravnborg 595de18cdeSSam Ravnborglibs-y += arch/sparc/prom/ 60478b8fecSSam Ravnborglibs-y += arch/sparc/lib/ 611da177e4SLinus Torvalds 62bdde6b3cSTkhai Kirilldrivers-$(CONFIG_PM) += arch/sparc/power/ 63f25eae2cSThomas Zimmermanndrivers-$(CONFIG_VIDEO) += arch/sparc/video/ 649550e59cSMartin Habets 65a8c601caSSam Ravnborgboot := arch/sparc/boot 661da177e4SLinus Torvalds 6748e46b7bSJurij Smakov# Default target 6848e46b7bSJurij Smakovall: zImage 6948e46b7bSJurij Smakov 70684151a7SDaniel Hellstromimage zImage uImage tftpboot.img vmlinux.aout: vmlinux 71a8c601caSSam Ravnborg $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 721da177e4SLinus Torvalds 73c78f77e2SDavid L Stevensinstall: 74f774f5bbSMasahiro Yamada $(call cmd,install) 75c78f77e2SDavid L Stevens 7636800330SFiroz Khanarchheaders: 7736800330SFiroz Khan $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all 7836800330SFiroz Khan 7956769ba4SMasahiro Yamadavdso-install-$(CONFIG_SPARC64) += arch/sparc/vdso/vdso64.so.dbg 8056769ba4SMasahiro Yamadavdso-install-$(CONFIG_COMPAT) += arch/sparc/vdso/vdso32.so.dbg 819a08862aSNagarathnam Muthusamy 82349101daSMartin Habets# This is the image used for packaging 83a8c601caSSam RavnborgKBUILD_IMAGE := $(boot)/zImage 84349101daSMartin Habets 851da177e4SLinus Torvalds# Don't use tabs in echo arguments. 861da177e4SLinus Torvaldsdefine archhelp 87dbb5f7c3SRandy Dunlap echo '* vmlinux - standard SPARC kernel' 88dbb5f7c3SRandy Dunlap echo ' image - kernel image ($(boot)/image)' 89dbb5f7c3SRandy Dunlap echo '* zImage - stripped/compressed kernel image ($(boot)/zImage)' 90684151a7SDaniel Hellstrom echo ' uImage - U-Boot SPARC32 Image (only for LEON)' 91dbb5f7c3SRandy Dunlap echo ' vmlinux.aout - a.out kernel for SPARC64' 921da177e4SLinus Torvalds echo ' tftpboot.img - image prepared for tftp' 931da177e4SLinus Torvaldsendef 94