aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/Makefile
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2011-06-21 00:03:30 -0400
committerGreg Ungerer <gerg@uclinux.org>2011-10-18 00:22:25 -0400
commit281eff5322fdb950a7dab722d15af811dda511d2 (patch)
treea4430215ac0f1aaca8c68e89d5b1b7723ca6df2d /arch/m68k/Makefile
parent0e152d80507b75c00aac60f2ffc586360687cd52 (diff)
m68k: merge mmu and non-mmu arch Makefiles
Most of the build logic is the same for the mmu and non-mmu m68k targets. Merge the top level architecture Makefiles back into a single Makefile. For the most part this is just adding the non-mmu processor types and their specific cflags and other options into the mmu Makefile. Note that all the BOARD setting logic that was in the non-mmu Makefile is completely removed. It was no longer being used at all. This has been build and run tested on ColdFire targets and ARAnyM. It has been build tested on all the m68k defconfig targets using a gcc-4.5.1 based toolchain. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'arch/m68k/Makefile')
-rw-r--r--arch/m68k/Makefile168
1 files changed, 166 insertions, 2 deletions
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
index be46cadd4017..cf318f20c64d 100644
--- a/arch/m68k/Makefile
+++ b/arch/m68k/Makefile
@@ -1,7 +1,171 @@
1#
2# m68k/Makefile
3#
4# This file is included by the global makefile so that you can add your own
5# architecture-specific flags and dependencies. Remember to do have actions
6# for "archclean" and "archdep" for cleaning up and making dependencies for
7# this architecture
8#
9# This file is subject to the terms and conditions of the GNU General Public
10# License. See the file "COPYING" in the main directory of this archive
11# for more details.
12#
13# Copyright (C) 1994 by Hamish Macdonald
14# Copyright (C) 2002,2011 Greg Ungerer <gerg@snapgear.com>
15#
16
1KBUILD_DEFCONFIG := multi_defconfig 17KBUILD_DEFCONFIG := multi_defconfig
2 18
19#
20# Enable processor type. Ordering of these is important - we want to
21# use the minimum processor type of the range we support. The logic
22# for 680x0 will only allow use of the -m68060 or -m68040 if no other
23# 680x0 type is specified - and no option is specified for 68030 or
24# 68020. The other m68k/ColdFire types always specify some type of
25# compiler cpu type flag.
26#
27ifndef CONFIG_M68040
28cpuflags-$(CONFIG_M68060) := -m68060
29endif
30ifndef CONFIG_M68060
31cpuflags-$(CONFIG_M68040) := -m68040
32endif
33cpuflags-$(CONFIG_M68030) :=
34cpuflags-$(CONFIG_M68020) :=
35cpuflags-$(CONFIG_M68360) := -m68332
36cpuflags-$(CONFIG_M68000) := -m68000
37cpuflags-$(CONFIG_M54xx) := $(call cc-option,-mcpu=5475,-m5200)
38cpuflags-$(CONFIG_M5407) := $(call cc-option,-mcpu=5407,-m5200)
39cpuflags-$(CONFIG_M532x) := $(call cc-option,-mcpu=532x,-m5307)
40cpuflags-$(CONFIG_M5307) := $(call cc-option,-mcpu=5307,-m5200)
41cpuflags-$(CONFIG_M528x) := $(call cc-option,-mcpu=528x,-m5307)
42cpuflags-$(CONFIG_M5275) := $(call cc-option,-mcpu=5275,-m5307)
43cpuflags-$(CONFIG_M5272) := $(call cc-option,-mcpu=5272,-m5307)
44cpuflags-$(CONFIG_M5271) := $(call cc-option,-mcpu=5271,-m5307)
45cpuflags-$(CONFIG_M523x) := $(call cc-option,-mcpu=523x,-m5307)
46cpuflags-$(CONFIG_M5249) := $(call cc-option,-mcpu=5249,-m5200)
47cpuflags-$(CONFIG_M520x) := $(call cc-option,-mcpu=5208,-m5200)
48cpuflags-$(CONFIG_M5206e) := $(call cc-option,-mcpu=5206e,-m5200)
49cpuflags-$(CONFIG_M5206) := $(call cc-option,-mcpu=5206,-m5200)
50
51KBUILD_AFLAGS += $(cpuflags-y)
52KBUILD_CFLAGS += $(cpuflags-y) -pipe
3ifdef CONFIG_MMU 53ifdef CONFIG_MMU
4include $(srctree)/arch/m68k/Makefile_mm 54# without -fno-strength-reduce the 53c7xx.c driver fails ;-(
55KBUILD_CFLAGS += -fno-strength-reduce -ffixed-a2
56else
57# we can use a m68k-linux-gcc toolchain with these in place
58KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
59KBUILD_CFLAGS += -D__uClinux__
60KBUILD_AFLAGS += -D__uClinux__
61endif
62
63LDFLAGS := -m m68kelf
64KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
65ifneq ($(SUBARCH),$(ARCH))
66 ifeq ($(CROSS_COMPILE),)
67 CROSS_COMPILE := $(call cc-cross-prefix, \
68 m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-)
69 endif
70endif
71
72ifdef CONFIG_SUN3
73LDFLAGS_vmlinux = -N
74endif
75
76CHECKFLAGS += -D__mc68000__
77
78
79ifdef CONFIG_KGDB
80# If configured for kgdb support, include debugging infos and keep the
81# frame pointer
82KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
83endif
84
85#
86# Select the assembler head startup code. Order is important. The default
87# head code is first, processor specific selections can override it after.
88#
89head-y := arch/m68k/kernel/head.o
90head-$(CONFIG_SUN3) := arch/m68k/kernel/sun3-head.o
91head-$(CONFIG_M68360) := arch/m68k/platform/68360/head.o
92head-$(CONFIG_M68000) := arch/m68k/platform/68328/head.o
93head-$(CONFIG_COLDFIRE) := arch/m68k/platform/coldfire/head.o
94
95core-y += arch/m68k/kernel/ arch/m68k/mm/
96libs-y += arch/m68k/lib/
97
98core-$(CONFIG_Q40) += arch/m68k/q40/
99core-$(CONFIG_AMIGA) += arch/m68k/amiga/
100core-$(CONFIG_ATARI) += arch/m68k/atari/
101core-$(CONFIG_MAC) += arch/m68k/mac/
102core-$(CONFIG_HP300) += arch/m68k/hp300/
103core-$(CONFIG_APOLLO) += arch/m68k/apollo/
104core-$(CONFIG_MVME147) += arch/m68k/mvme147/
105core-$(CONFIG_MVME16x) += arch/m68k/mvme16x/
106core-$(CONFIG_BVME6000) += arch/m68k/bvme6000/
107core-$(CONFIG_SUN3X) += arch/m68k/sun3x/ arch/m68k/sun3/
108core-$(CONFIG_SUN3) += arch/m68k/sun3/ arch/m68k/sun3/prom/
109core-$(CONFIG_NATFEAT) += arch/m68k/emu/
110core-$(CONFIG_M68040) += arch/m68k/fpsp040/
111core-$(CONFIG_M68060) += arch/m68k/ifpsp060/
112core-$(CONFIG_M68KFPU_EMU) += arch/m68k/math-emu/
113core-$(CONFIG_M68360) += arch/m68k/platform/68360/
114core-$(CONFIG_M68000) += arch/m68k/platform/68328/
115core-$(CONFIG_M68EZ328) += arch/m68k/platform/68EZ328/
116core-$(CONFIG_M68VZ328) += arch/m68k/platform/68VZ328/
117core-$(CONFIG_COLDFIRE) += arch/m68k/platform/coldfire/
118core-$(CONFIG_M5206) += arch/m68k/platform/5206/
119core-$(CONFIG_M5206e) += arch/m68k/platform/5206/
120core-$(CONFIG_M520x) += arch/m68k/platform/520x/
121core-$(CONFIG_M523x) += arch/m68k/platform/523x/
122core-$(CONFIG_M5249) += arch/m68k/platform/5249/
123core-$(CONFIG_M527x) += arch/m68k/platform/527x/
124core-$(CONFIG_M5272) += arch/m68k/platform/5272/
125core-$(CONFIG_M528x) += arch/m68k/platform/528x/
126core-$(CONFIG_M5307) += arch/m68k/platform/5307/
127core-$(CONFIG_M532x) += arch/m68k/platform/532x/
128core-$(CONFIG_M5407) += arch/m68k/platform/5407/
129core-$(CONFIG_M54xx) += arch/m68k/platform/54xx/
130
131
132all: zImage
133
134lilo: vmlinux
135 if [ -f $(INSTALL_PATH)/vmlinux ]; then mv -f $(INSTALL_PATH)/vmlinux $(INSTALL_PATH)/vmlinux.old; fi
136 if [ -f $(INSTALL_PATH)/System.map ]; then mv -f $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi
137 cat vmlinux > $(INSTALL_PATH)/vmlinux
138 cp System.map $(INSTALL_PATH)/System.map
139 if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
140
141zImage compressed: vmlinux.gz
142
143vmlinux.gz: vmlinux
144
145ifndef CONFIG_KGDB
146 cp vmlinux vmlinux.tmp
147 $(STRIP) vmlinux.tmp
148 gzip -9c vmlinux.tmp >vmlinux.gz
149 rm vmlinux.tmp
5else 150else
6include $(srctree)/arch/m68k/Makefile_no 151 gzip -9c vmlinux >vmlinux.gz
7endif 152endif
153
154bzImage: vmlinux.bz2
155
156vmlinux.bz2: vmlinux
157
158ifndef CONFIG_KGDB
159 cp vmlinux vmlinux.tmp
160 $(STRIP) vmlinux.tmp
161 bzip2 -1c vmlinux.tmp >vmlinux.bz2
162 rm vmlinux.tmp
163else
164 bzip2 -1c vmlinux >vmlinux.bz2
165endif
166
167archclean:
168 rm -f vmlinux.gz vmlinux.bz2
169
170install:
171 sh $(srctree)/arch/m68k/install.sh $(KERNELRELEASE) vmlinux.gz System.map "$(INSTALL_PATH)"