diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-12-03 02:17:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-04 12:17:16 -0500 |
commit | 5e53879008b9acefe9f43498fd36db7376e08739 (patch) | |
tree | 1e3137cabb339a834794a753f1782b312392bd32 /arch/sparc/Makefile | |
parent | 14ae84c9933f22ccad34fa6375b8908389b304f0 (diff) |
sparc,sparc64: unify Makefile
To unify Makefile for sparc and sparc64 a few other steps was needed:
1) separate defconfig files for sparc and sparc64 is required,
so locate these in arch/sparc/configs
2) removoval of hack in toplevel Makefile to deal with that
headers was in a separate directory compared to the rest
The unification of the Makefile required usage of several
foo-$(CONFIG_SPARCnn) +=
due to a few directories pending unification.
This will be cleaned up when we unify the remaining directories.
Included in this patch are the deletion of a few files in
sparc64 as they are no longer needed: Makefile + Kconfig.
arch/sparc64/ will after this patch is applied only
have four directories (prom, lib, kernel, boot)
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/Makefile')
-rw-r--r-- | arch/sparc/Makefile | 82 |
1 files changed, 69 insertions, 13 deletions
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index 9c4c8b8b451d..3c043baf92bc 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile | |||
@@ -2,9 +2,21 @@ | |||
2 | # sparc/Makefile | 2 | # sparc/Makefile |
3 | # | 3 | # |
4 | # Makefile for the architecture dependent flags and dependencies on the | 4 | # Makefile for the architecture dependent flags and dependencies on the |
5 | # Sparc. | 5 | # Sparc and sparc64. |
6 | # | 6 | # |
7 | # Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu) | 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 | ||
8 | # | 20 | # |
9 | 21 | ||
10 | # | 22 | # |
@@ -26,10 +38,48 @@ CPPFLAGS_vmlinux.lds += -m32 | |||
26 | # Actual linking is done with "make image". | 38 | # Actual linking is done with "make image". |
27 | LDFLAGS_vmlinux = -r | 39 | LDFLAGS_vmlinux = -r |
28 | 40 | ||
29 | head-y := arch/sparc/kernel/head.o arch/sparc/kernel/init_task.o | 41 | # Default target |
42 | all: zImage | ||
43 | |||
44 | |||
45 | else | ||
46 | ##### | ||
47 | # sparc64 | ||
48 | # | ||
49 | |||
50 | CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64 | ||
51 | |||
52 | # Undefine sparc when processing vmlinux.lds - it is used | ||
53 | # And teach CPP we are doing 64 bit builds (for this case) | ||
54 | CPPFLAGS_vmlinux.lds += -m64 -Usparc | ||
55 | LDFLAGS := -m elf64_sparc | ||
56 | export BITS := 64 | ||
57 | |||
58 | KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \ | ||
59 | -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \ | ||
60 | -Wa,--undeclared-regs | ||
61 | KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) | ||
62 | KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs | ||
63 | |||
64 | ifeq ($(CONFIG_MCOUNT),y) | ||
65 | KBUILD_CFLAGS += -pg | ||
66 | endif | ||
67 | |||
68 | endif | ||
30 | 69 | ||
31 | core-y += arch/sparc/kernel/ arch/sparc/mm/ arch/sparc/math-emu/ | 70 | head-$(CONFIG_SPARC32) := arch/sparc/kernel/head.o |
32 | libs-y += arch/sparc/prom/ arch/sparc/lib/ | 71 | head-$(CONFIG_SPARC32) += arch/sparc/kernel/init_task.o |
72 | head-$(CONFIG_SPARC64) := arch/sparc64/kernel/head.o | ||
73 | head-$(CONFIG_SPARC64) += arch/sparc64/kernel/init_task.o | ||
74 | |||
75 | core-$(CONFIG_SPARC32) += arch/sparc/kernel/ | ||
76 | core-$(CONFIG_SPARC64) += arch/sparc64/kernel/ | ||
77 | core-y += arch/sparc/mm/ arch/sparc/math-emu/ | ||
78 | |||
79 | libs-$(CONFIG_SPARC32) += arch/sparc/prom/ | ||
80 | libs-$(CONFIG_SPARC32) += arch/sparc/lib/ | ||
81 | libs-$(CONFIG_SPARC64) += arch/sparc64/prom/ | ||
82 | libs-$(CONFIG_SPARC64) += arch/sparc64/lib/ | ||
33 | 83 | ||
34 | drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ | 84 | drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ |
35 | 85 | ||
@@ -44,23 +94,29 @@ ifdef CONFIG_KALLSYMS | |||
44 | export kallsyms.o := .tmp_kallsyms2.o | 94 | export kallsyms.o := .tmp_kallsyms2.o |
45 | endif | 95 | endif |
46 | 96 | ||
47 | # Default target | 97 | boot-y := arch/sparc/boot |
48 | all: zImage | 98 | boot-$(CONFIG_SPARC64) := arch/sparc64/boot |
49 | |||
50 | boot := arch/sparc/boot | ||
51 | 99 | ||
52 | image zImage tftpboot.img: vmlinux | 100 | image zImage tftpboot.img vmlinux.aout: vmlinux |
53 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | 101 | $(Q)$(MAKE) $(build)=$(boot-y) $(boot-y)/$@ |
54 | 102 | ||
55 | archclean: | 103 | archclean: |
56 | $(Q)$(MAKE) $(clean)=$(boot) | 104 | $(Q)$(MAKE) $(clean)=$(boot-y) |
57 | 105 | ||
58 | # This is the image used for packaging | 106 | # This is the image used for packaging |
59 | KBUILD_IMAGE := $(boot)/zImage | 107 | KBUILD_IMAGE := $(boot-y)/zImage |
60 | 108 | ||
61 | # Don't use tabs in echo arguments. | 109 | # Don't use tabs in echo arguments. |
110 | ifeq ($(ARCH),sparc) | ||
62 | define archhelp | 111 | define archhelp |
63 | echo '* image - kernel image ($(boot)/image)' | 112 | echo '* image - kernel image ($(boot)/image)' |
64 | echo '* zImage - stripped kernel image ($(boot)/zImage)' | 113 | echo '* zImage - stripped kernel image ($(boot)/zImage)' |
65 | echo ' tftpboot.img - image prepared for tftp' | 114 | echo ' tftpboot.img - image prepared for tftp' |
66 | endef | 115 | endef |
116 | else | ||
117 | define archhelp | ||
118 | echo '* vmlinux - Standard sparc64 kernel' | ||
119 | echo ' vmlinux.aout - a.out kernel for sparc64' | ||
120 | echo ' tftpboot.img - image prepared for tftp' | ||
121 | endef | ||
122 | endif | ||