Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / m68k / Makefile
index b793163..cf318f2 100644 (file)
 # for more details.
 #
 # Copyright (C) 1994 by Hamish Macdonald
+# Copyright (C) 2002,2011 Greg Ungerer <gerg@snapgear.com>
 #
 
 KBUILD_DEFCONFIG := multi_defconfig
 
-# override top level makefile
-AS += -m68020
+#
+#      Enable processor type. Ordering of these is important - we want to
+#      use the minimum processor type of the range we support. The logic
+#      for 680x0 will only allow use of the -m68060 or -m68040 if no other
+#      680x0 type is specified - and no option is specified for 68030 or
+#      68020. The other m68k/ColdFire types always specify some type of
+#      compiler cpu type flag.
+#
+ifndef CONFIG_M68040
+cpuflags-$(CONFIG_M68060)      := -m68060
+endif
+ifndef CONFIG_M68060
+cpuflags-$(CONFIG_M68040)      := -m68040
+endif
+cpuflags-$(CONFIG_M68030)      :=
+cpuflags-$(CONFIG_M68020)      :=
+cpuflags-$(CONFIG_M68360)      := -m68332
+cpuflags-$(CONFIG_M68000)      := -m68000
+cpuflags-$(CONFIG_M54xx)       := $(call cc-option,-mcpu=5475,-m5200)
+cpuflags-$(CONFIG_M5407)       := $(call cc-option,-mcpu=5407,-m5200)
+cpuflags-$(CONFIG_M532x)       := $(call cc-option,-mcpu=532x,-m5307)
+cpuflags-$(CONFIG_M5307)       := $(call cc-option,-mcpu=5307,-m5200)
+cpuflags-$(CONFIG_M528x)       := $(call cc-option,-mcpu=528x,-m5307)
+cpuflags-$(CONFIG_M5275)       := $(call cc-option,-mcpu=5275,-m5307)
+cpuflags-$(CONFIG_M5272)       := $(call cc-option,-mcpu=5272,-m5307)
+cpuflags-$(CONFIG_M5271)       := $(call cc-option,-mcpu=5271,-m5307)
+cpuflags-$(CONFIG_M523x)       := $(call cc-option,-mcpu=523x,-m5307)
+cpuflags-$(CONFIG_M5249)       := $(call cc-option,-mcpu=5249,-m5200)
+cpuflags-$(CONFIG_M520x)       := $(call cc-option,-mcpu=5208,-m5200)
+cpuflags-$(CONFIG_M5206e)      := $(call cc-option,-mcpu=5206e,-m5200)
+cpuflags-$(CONFIG_M5206)       := $(call cc-option,-mcpu=5206,-m5200)
+
+KBUILD_AFLAGS += $(cpuflags-y)
+KBUILD_CFLAGS += $(cpuflags-y) -pipe
+ifdef CONFIG_MMU
+# without -fno-strength-reduce the 53c7xx.c driver fails ;-(
+KBUILD_CFLAGS += -fno-strength-reduce -ffixed-a2
+else
+# we can use a m68k-linux-gcc toolchain with these in place
+KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
+KBUILD_CFLAGS += -D__uClinux__
+KBUILD_AFLAGS += -D__uClinux__
+endif
+
 LDFLAGS := -m m68kelf
 KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
 ifneq ($(SUBARCH),$(ARCH))
@@ -32,23 +75,6 @@ endif
 
 CHECKFLAGS += -D__mc68000__
 
-# without -fno-strength-reduce the 53c7xx.c driver fails ;-(
-KBUILD_CFLAGS += -pipe -fno-strength-reduce -ffixed-a2
-
-# enable processor switch if compiled only for a single cpu
-ifndef CONFIG_M68020
-ifndef CONFIG_M68030
-
-ifndef CONFIG_M68060
-KBUILD_CFLAGS += -m68040
-endif
-
-ifndef CONFIG_M68040
-KBUILD_CFLAGS += -m68060
-endif
-
-endif
-endif
 
 ifdef CONFIG_KGDB
 # If configured for kgdb support, include debugging infos and keep the
@@ -56,11 +82,15 @@ ifdef CONFIG_KGDB
 KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
 endif
 
-ifndef CONFIG_SUN3
-head-y := arch/m68k/kernel/head.o
-else
-head-y := arch/m68k/kernel/sun3-head.o
-endif
+#
+# Select the assembler head startup code. Order is important. The default
+# head code is first, processor specific selections can override it after.
+#
+head-y                         := arch/m68k/kernel/head.o
+head-$(CONFIG_SUN3)            := arch/m68k/kernel/sun3-head.o
+head-$(CONFIG_M68360)          := arch/m68k/platform/68360/head.o
+head-$(CONFIG_M68000)          := arch/m68k/platform/68328/head.o
+head-$(CONFIG_COLDFIRE)                := arch/m68k/platform/coldfire/head.o
 
 core-y                         += arch/m68k/kernel/    arch/m68k/mm/
 libs-y                         += arch/m68k/lib/
@@ -80,6 +110,24 @@ core-$(CONFIG_NATFEAT)              += arch/m68k/emu/
 core-$(CONFIG_M68040)          += arch/m68k/fpsp040/
 core-$(CONFIG_M68060)          += arch/m68k/ifpsp060/
 core-$(CONFIG_M68KFPU_EMU)     += arch/m68k/math-emu/
+core-$(CONFIG_M68360)          += arch/m68k/platform/68360/
+core-$(CONFIG_M68000)          += arch/m68k/platform/68328/
+core-$(CONFIG_M68EZ328)                += arch/m68k/platform/68EZ328/
+core-$(CONFIG_M68VZ328)                += arch/m68k/platform/68VZ328/
+core-$(CONFIG_COLDFIRE)                += arch/m68k/platform/coldfire/
+core-$(CONFIG_M5206)           += arch/m68k/platform/5206/
+core-$(CONFIG_M5206e)          += arch/m68k/platform/5206/
+core-$(CONFIG_M520x)           += arch/m68k/platform/520x/
+core-$(CONFIG_M523x)           += arch/m68k/platform/523x/
+core-$(CONFIG_M5249)           += arch/m68k/platform/5249/
+core-$(CONFIG_M527x)           += arch/m68k/platform/527x/
+core-$(CONFIG_M5272)           += arch/m68k/platform/5272/
+core-$(CONFIG_M528x)           += arch/m68k/platform/528x/
+core-$(CONFIG_M5307)           += arch/m68k/platform/5307/
+core-$(CONFIG_M532x)           += arch/m68k/platform/532x/
+core-$(CONFIG_M5407)           += arch/m68k/platform/5407/
+core-$(CONFIG_M54xx)           += arch/m68k/platform/54xx/
+
 
 all:   zImage