| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # | 
|  | 2 | # sparc/Makefile | 
|  | 3 | # | 
|  | 4 | # Makefile for the architecture dependent flags and dependencies on the | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 5 | # Sparc and sparc64. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | # | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 7 | # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) | 
|  | 8 | # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) | 
|  | 9 |  | 
|  | 10 | # We are not yet configured - so test on arch | 
|  | 11 | ifeq ($(ARCH),sparc) | 
|  | 12 | KBUILD_DEFCONFIG := sparc32_defconfig | 
|  | 13 | else | 
|  | 14 | KBUILD_DEFCONFIG := sparc64_defconfig | 
|  | 15 | endif | 
|  | 16 |  | 
|  | 17 | ifeq ($(CONFIG_SPARC32),y) | 
|  | 18 | ##### | 
|  | 19 | # sparc32 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | # | 
|  | 21 |  | 
|  | 22 | # | 
| Sam Ravnborg | a0f97e0 | 2007-10-14 22:21:35 +0200 | [diff] [blame] | 23 | # Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | # debugging of the kernel to get the proper debugging information. | 
|  | 25 |  | 
| Sam Ravnborg | b0cdd59 | 2008-11-16 20:04:20 -0800 | [diff] [blame] | 26 | AS             := $(AS) -32 | 
|  | 27 | LDFLAGS        := -m elf32_sparc | 
|  | 28 | CHECKFLAGS     += -D__sparc__ | 
|  | 29 | export BITS    := 32 | 
| David S. Miller | 7f5620a | 2009-12-05 17:17:55 -0800 | [diff] [blame^] | 30 | UTS_MACHINE    := sparc | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 |  | 
| Sam Ravnborg | a0f97e0 | 2007-10-14 22:21:35 +0200 | [diff] [blame] | 32 | #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7 | 
|  | 33 | KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 | 
| Sam Ravnborg | 222d394 | 2007-10-15 21:59:31 +0200 | [diff] [blame] | 34 | KBUILD_AFLAGS += -m32 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 35 |  | 
|  | 36 | #LDFLAGS_vmlinux = -N -Ttext 0xf0004000 | 
|  | 37 | #  Since 2.5.40, the first stage is left not btfix-ed. | 
|  | 38 | #  Actual linking is done with "make image". | 
|  | 39 | LDFLAGS_vmlinux = -r | 
|  | 40 |  | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 41 | else | 
|  | 42 | ##### | 
|  | 43 | # sparc64 | 
|  | 44 | # | 
|  | 45 |  | 
|  | 46 | CHECKFLAGS      += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64 | 
|  | 47 |  | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 48 | LDFLAGS              := -m elf64_sparc | 
|  | 49 | export BITS          := 64 | 
| David S. Miller | 7f5620a | 2009-12-05 17:17:55 -0800 | [diff] [blame^] | 50 | UTS_MACHINE          := sparc64 | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 51 |  | 
|  | 52 | KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow   \ | 
|  | 53 | -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \ | 
|  | 54 | -Wa,--undeclared-regs | 
|  | 55 | KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) | 
|  | 56 | KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs | 
|  | 57 |  | 
|  | 58 | ifeq ($(CONFIG_MCOUNT),y) | 
|  | 59 | KBUILD_CFLAGS += -pg | 
|  | 60 | endif | 
|  | 61 |  | 
|  | 62 | endif | 
|  | 63 |  | 
| Sam Ravnborg | a88b5ba | 2008-12-03 03:11:52 -0800 | [diff] [blame] | 64 | head-y                 := arch/sparc/kernel/head_$(BITS).o | 
| Sam Ravnborg | b28017f | 2008-12-04 13:28:09 -0800 | [diff] [blame] | 65 | head-y                 += arch/sparc/kernel/init_task.o | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 66 |  | 
| Sam Ravnborg | a88b5ba | 2008-12-03 03:11:52 -0800 | [diff] [blame] | 67 | core-y                 += arch/sparc/kernel/ | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 68 | core-y                 += arch/sparc/mm/ arch/sparc/math-emu/ | 
|  | 69 |  | 
| Sam Ravnborg | 5de18cd | 2008-11-29 22:16:52 -0800 | [diff] [blame] | 70 | libs-y                 += arch/sparc/prom/ | 
| Sam Ravnborg | 478b8fe | 2008-12-03 03:10:25 -0800 | [diff] [blame] | 71 | libs-y                 += arch/sparc/lib/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 72 |  | 
| Martin Habets | 9550e59 | 2006-10-17 19:21:48 -0700 | [diff] [blame] | 73 | drivers-$(CONFIG_OPROFILE)	+= arch/sparc/oprofile/ | 
|  | 74 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 75 | # Export what is needed by arch/sparc/boot/Makefile | 
| Sam Ravnborg | db5ea21 | 2008-12-02 23:15:42 -0800 | [diff] [blame] | 76 | export VMLINUX_INIT VMLINUX_MAIN | 
|  | 77 | VMLINUX_INIT := $(head-y) $(init-y) | 
|  | 78 | VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/ | 
|  | 79 | VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y) | 
|  | 80 | VMLINUX_MAIN += $(drivers-y) $(net-y) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 |  | 
|  | 82 | ifdef CONFIG_KALLSYMS | 
| Sam Ravnborg | db5ea21 | 2008-12-02 23:15:42 -0800 | [diff] [blame] | 83 | export kallsyms.o := .tmp_kallsyms2.o | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 | endif | 
|  | 85 |  | 
| Sam Ravnborg | a8c601c | 2008-12-03 03:14:26 -0800 | [diff] [blame] | 86 | boot := arch/sparc/boot | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 87 |  | 
| Jurij Smakov | 48e46b7 | 2009-08-16 18:21:47 -0700 | [diff] [blame] | 88 | # Default target | 
|  | 89 | all: zImage | 
|  | 90 |  | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 91 | image zImage tftpboot.img vmlinux.aout: vmlinux | 
| Sam Ravnborg | a8c601c | 2008-12-03 03:14:26 -0800 | [diff] [blame] | 92 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 93 |  | 
|  | 94 | archclean: | 
| Sam Ravnborg | a8c601c | 2008-12-03 03:14:26 -0800 | [diff] [blame] | 95 | $(Q)$(MAKE) $(clean)=$(boot) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 96 |  | 
| Martin Habets | 349101d | 2008-08-18 22:37:18 -0700 | [diff] [blame] | 97 | # This is the image used for packaging | 
| Sam Ravnborg | a8c601c | 2008-12-03 03:14:26 -0800 | [diff] [blame] | 98 | KBUILD_IMAGE := $(boot)/zImage | 
| Martin Habets | 349101d | 2008-08-18 22:37:18 -0700 | [diff] [blame] | 99 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 100 | # Don't use tabs in echo arguments. | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 101 | ifeq ($(ARCH),sparc) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 102 | define archhelp | 
|  | 103 | echo  '* image        - kernel image ($(boot)/image)' | 
| Martin Habets | 349101d | 2008-08-18 22:37:18 -0700 | [diff] [blame] | 104 | echo  '* zImage       - stripped kernel image ($(boot)/zImage)' | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 105 | echo  '  tftpboot.img - image prepared for tftp' | 
|  | 106 | endef | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 107 | else | 
|  | 108 | define archhelp | 
| Jurij Smakov | 48e46b7 | 2009-08-16 18:21:47 -0700 | [diff] [blame] | 109 | echo  '* vmlinux      - standard sparc64 kernel' | 
|  | 110 | echo  '* zImage       - stripped and compressed sparc64 kernel ($(boot)/zImage)' | 
|  | 111 | echo  '  vmlinux.aout - a.out kernel for sparc64' | 
| Sam Ravnborg | 5e53879 | 2008-12-02 23:17:12 -0800 | [diff] [blame] | 112 | echo  '  tftpboot.img - image prepared for tftp' | 
|  | 113 | endef | 
|  | 114 | endif |