]>
Commit | Line | Data |
---|---|---|
1 | # SPDX-License-Identifier: GPL-2.0 | |
2 | # | |
3 | # sparc/Makefile | |
4 | # | |
5 | # Makefile for the architecture dependent flags and dependencies on the | |
6 | # Sparc and sparc64. | |
7 | # | |
8 | # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) | |
9 | # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) | |
10 | ||
11 | # We are not yet configured - so test on arch | |
12 | ifeq ($(ARCH),sparc) | |
13 | KBUILD_DEFCONFIG := sparc32_defconfig | |
14 | else | |
15 | KBUILD_DEFCONFIG := sparc64_defconfig | |
16 | endif | |
17 | ||
18 | ifeq ($(CONFIG_SPARC32),y) | |
19 | ##### | |
20 | # sparc32 | |
21 | # | |
22 | ||
23 | CHECKFLAGS += -D__sparc__ | |
24 | LDFLAGS := -m elf32_sparc | |
25 | export BITS := 32 | |
26 | UTS_MACHINE := sparc | |
27 | ||
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 | |
34 | ||
35 | KBUILD_AFLAGS += -m32 -Wa,-Av8 | |
36 | ||
37 | else | |
38 | ##### | |
39 | # sparc64 | |
40 | # | |
41 | ||
42 | CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64 | |
43 | LDFLAGS := -m elf64_sparc | |
44 | export BITS := 64 | |
45 | UTS_MACHINE := sparc64 | |
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 | |
52 | ||
53 | ifeq ($(CONFIG_MCOUNT),y) | |
54 | KBUILD_CFLAGS += -pg | |
55 | endif | |
56 | ||
57 | endif | |
58 | ||
59 | head-y := arch/sparc/kernel/head_$(BITS).o | |
60 | ||
61 | # See arch/sparc/Kbuild for the core part of the kernel | |
62 | core-y += arch/sparc/ | |
63 | ||
64 | libs-y += arch/sparc/prom/ | |
65 | libs-y += arch/sparc/lib/ | |
66 | ||
67 | drivers-$(CONFIG_PM) += arch/sparc/power/ | |
68 | drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ | |
69 | ||
70 | boot := arch/sparc/boot | |
71 | ||
72 | # Default target | |
73 | all: zImage | |
74 | ||
75 | image zImage uImage tftpboot.img vmlinux.aout: vmlinux | |
76 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | |
77 | ||
78 | install: | |
79 | $(Q)$(MAKE) $(build)=$(boot) $@ | |
80 | ||
81 | archclean: | |
82 | $(Q)$(MAKE) $(clean)=$(boot) | |
83 | ||
84 | PHONY += vdso_install | |
85 | vdso_install: | |
86 | $(Q)$(MAKE) $(build)=arch/sparc/vdso $@ | |
87 | ||
88 | # This is the image used for packaging | |
89 | KBUILD_IMAGE := $(boot)/zImage | |
90 | ||
91 | # Don't use tabs in echo arguments. | |
92 | ifeq ($(ARCH),sparc) | |
93 | define archhelp | |
94 | echo '* image - kernel image ($(boot)/image)' | |
95 | echo '* zImage - stripped kernel image ($(boot)/zImage)' | |
96 | echo ' uImage - U-Boot SPARC32 Image (only for LEON)' | |
97 | echo ' tftpboot.img - image prepared for tftp' | |
98 | endef | |
99 | else | |
100 | define archhelp | |
101 | echo '* vmlinux - standard sparc64 kernel' | |
102 | echo '* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)' | |
103 | echo ' vmlinux.aout - a.out kernel for sparc64' | |
104 | echo ' tftpboot.img - image prepared for tftp' | |
105 | endef | |
106 | endif |