xref: /linux/arch/sparc/Makefile (revision 80b304fd00e8b667775ff791121b61ecd7cd0c03)
1 #
2 # sparc/Makefile
3 #
4 # Makefile for the architecture dependent flags and dependencies on the
5 # Sparc and sparc64.
6 #
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
20 #
21 
22 CHECKFLAGS     += -D__sparc__
23 LDFLAGS        := -m elf32_sparc
24 export BITS    := 32
25 UTS_MACHINE    := sparc
26 
27 KBUILD_CFLAGS  += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
28 KBUILD_AFLAGS  += -m32 -Wa,-Av8
29 
30 else
31 #####
32 # sparc64
33 #
34 
35 CHECKFLAGS    += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64
36 LDFLAGS       := -m elf64_sparc
37 export BITS   := 64
38 UTS_MACHINE   := sparc64
39 
40 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow
41 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare
42 KBUILD_CFLAGS += -Wa,--undeclared-regs
43 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3)
44 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs
45 
46 ifeq ($(CONFIG_MCOUNT),y)
47   KBUILD_CFLAGS += -pg
48 endif
49 
50 endif
51 
52 head-y                 := arch/sparc/kernel/head_$(BITS).o
53 
54 # See arch/sparc/Kbuild for the core part of the kernel
55 core-y                 += arch/sparc/
56 
57 libs-y                 += arch/sparc/prom/
58 libs-y                 += arch/sparc/lib/
59 
60 drivers-$(CONFIG_PM) += arch/sparc/power/
61 drivers-$(CONFIG_OPROFILE)	+= arch/sparc/oprofile/
62 
63 boot := arch/sparc/boot
64 
65 # Default target
66 all: zImage
67 
68 image zImage uImage tftpboot.img vmlinux.aout: vmlinux
69 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
70 
71 install:
72 	$(Q)$(MAKE) $(build)=$(boot) $@
73 
74 archclean:
75 	$(Q)$(MAKE) $(clean)=$(boot)
76 
77 # This is the image used for packaging
78 KBUILD_IMAGE := $(boot)/zImage
79 
80 # Don't use tabs in echo arguments.
81 ifeq ($(ARCH),sparc)
82 define archhelp
83   echo  '* image        - kernel image ($(boot)/image)'
84   echo  '* zImage       - stripped kernel image ($(boot)/zImage)'
85   echo  '  uImage       - U-Boot SPARC32 Image (only for LEON)'
86   echo  '  tftpboot.img - image prepared for tftp'
87 endef
88 else
89 define archhelp
90   echo  '* vmlinux      - standard sparc64 kernel'
91   echo  '* zImage       - stripped and compressed sparc64 kernel ($(boot)/zImage)'
92   echo  '  vmlinux.aout - a.out kernel for sparc64'
93   echo  '  tftpboot.img - image prepared for tftp'
94 endef
95 endif
96