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 | |
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>
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | arch/sparc/Kconfig | 7 | ||||
-rw-r--r-- | arch/sparc/Makefile | 82 | ||||
-rw-r--r-- | arch/sparc/configs/sparc32_defconfig (renamed from arch/sparc/defconfig) | 0 | ||||
-rw-r--r-- | arch/sparc/configs/sparc64_defconfig (renamed from arch/sparc64/defconfig) | 0 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc64/Makefile | 48 |
7 files changed, 81 insertions, 66 deletions
@@ -205,13 +205,14 @@ ifeq ($(ARCH),x86_64) | |||
205 | SRCARCH := x86 | 205 | SRCARCH := x86 |
206 | endif | 206 | endif |
207 | 207 | ||
208 | # Where to locate arch specific headers | 208 | # Additional ARCH settings for sparc |
209 | ifeq ($(ARCH),sparc64) | 209 | ifeq ($(ARCH),sparc64) |
210 | hdr-arch := sparc | 210 | SRCARCH := sparc |
211 | else | ||
212 | hdr-arch := $(SRCARCH) | ||
213 | endif | 211 | endif |
214 | 212 | ||
213 | # Where to locate arch specific headers | ||
214 | hdr-arch := $(SRCARCH) | ||
215 | |||
215 | KCONFIG_CONFIG ?= .config | 216 | KCONFIG_CONFIG ?= .config |
216 | 217 | ||
217 | # SHELL used by kbuild | 218 | # SHELL used by kbuild |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index e16253531624..26ddeedb5166 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -41,6 +41,13 @@ config SPARC64 | |||
41 | select RTC_DRV_SUN4V | 41 | select RTC_DRV_SUN4V |
42 | select RTC_DRV_STARFIRE | 42 | select RTC_DRV_STARFIRE |
43 | 43 | ||
44 | config ARCH_DEFCONFIG | ||
45 | string | ||
46 | default "arch/sparc/configs/sparc32_defconfig" if SPARC32 | ||
47 | default "arch/sparc/configs/sparc64_defconfig" if SPARC64 | ||
48 | |||
49 | |||
50 | |||
44 | config 64BIT | 51 | config 64BIT |
45 | def_bool y if SPARC64 | 52 | def_bool y if SPARC64 |
46 | 53 | ||
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 | ||
diff --git a/arch/sparc/defconfig b/arch/sparc/configs/sparc32_defconfig index 2e3a149ea0e7..2e3a149ea0e7 100644 --- a/arch/sparc/defconfig +++ b/arch/sparc/configs/sparc32_defconfig | |||
diff --git a/arch/sparc64/defconfig b/arch/sparc/configs/sparc64_defconfig index 05d19a3e590f..05d19a3e590f 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc/configs/sparc64_defconfig | |||
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig deleted file mode 100644 index caa9421d598a..000000000000 --- a/arch/sparc64/Kconfig +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | source arch/sparc/Kconfig | ||
diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile deleted file mode 100644 index bfe08680c897..000000000000 --- a/arch/sparc64/Makefile +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | # sparc64/Makefile | ||
2 | # | ||
3 | # Makefile for the architecture dependent flags and dependencies on the | ||
4 | # 64-bit Sparc. | ||
5 | # | ||
6 | # Copyright (C) 1996,1998 David S. Miller (davem@caip.rutgers.edu) | ||
7 | # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) | ||
8 | # | ||
9 | |||
10 | CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64 | ||
11 | |||
12 | # Undefine sparc when processing vmlinux.lds - it is used | ||
13 | # And teach CPP we are doing 64 bit builds (for this case) | ||
14 | CPPFLAGS_vmlinux.lds += -m64 -Usparc | ||
15 | LDFLAGS := -m elf64_sparc | ||
16 | export BITS := 64 | ||
17 | |||
18 | KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \ | ||
19 | -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \ | ||
20 | -Wa,--undeclared-regs | ||
21 | KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) | ||
22 | KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs | ||
23 | |||
24 | ifeq ($(CONFIG_MCOUNT),y) | ||
25 | KBUILD_CFLAGS += -pg | ||
26 | endif | ||
27 | |||
28 | head-y := arch/sparc64/kernel/head.o arch/sparc64/kernel/init_task.o | ||
29 | |||
30 | core-y += arch/sparc64/kernel/ arch/sparc/mm/ | ||
31 | core-y += arch/sparc/math-emu/ | ||
32 | libs-y += arch/sparc64/prom/ arch/sparc64/lib/ | ||
33 | drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ | ||
34 | |||
35 | boot := arch/sparc64/boot | ||
36 | |||
37 | image tftpboot.img vmlinux.aout: vmlinux | ||
38 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | ||
39 | |||
40 | archclean: | ||
41 | $(Q)$(MAKE) $(clean)=$(boot) | ||
42 | |||
43 | define archhelp | ||
44 | echo '* vmlinux - Standard sparc64 kernel' | ||
45 | echo ' vmlinux.aout - a.out kernel for sparc64' | ||
46 | echo ' tftpboot.img - Image prepared for tftp' | ||
47 | endef | ||
48 | |||