summaryrefslogtreecommitdiffstats
path: root/arch/m68k/Makefile
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2008-04-04 18:16:06 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2008-04-04 18:16:06 +0200
commitae6cc2d36baec9dee3a82d5542354fcac6b7679c (patch)
tree7078ba7beefa5b61fd9c38f76c8449d4fee1bd67 /arch/m68k/Makefile
parent35497c757ce705f4c2a19662e9b2f130583b673b (diff)
downloadbarebox-ae6cc2d36baec9dee3a82d5542354fcac6b7679c.tar.gz
barebox-ae6cc2d36baec9dee3a82d5542354fcac6b7679c.tar.xz
[m68k] Add Freescale Coldfire V4E Architecture support
- Added m68k vector, exception & interrupt handlers - Added m68k macros to access m68k movec registers - Added Coldfire support code (MultiChannelDMA) - Added board support for phytec phyCore-MCF baseboard - Added board support for konzeptpark MCB2 prototype Signed-off-by: Carsten Schlote <schlote@vahanus.net>
Diffstat (limited to 'arch/m68k/Makefile')
-rw-r--r--arch/m68k/Makefile105
1 files changed, 105 insertions, 0 deletions
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
new file mode 100644
index 0000000000..e376354a45
--- /dev/null
+++ b/arch/m68k/Makefile
@@ -0,0 +1,105 @@
+#
+# (C) Copyright 2007 Carsten Schlote <schlote@vahanus.net>
+# See file CREDITS for list of people who contributed to this project.
+#
+# This file is part of U-Boot V2.
+#
+# U-Boot V2 is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# U-Boot V2 is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with U-Boot V2. If not, see <http://www.gnu.org/licenses/>.
+#
+
+CPPFLAGS += -fno-builtin -ffreestanding -nostdinc -Wall \
+ -isystem $(gccincdir) -pipe -D __M68K__ \
+ -fno-strict-aliasing
+
+
+machine-$(CONFIG_ARCH_MCF54xx) := mcfv4e
+board-$(CONFIG_MACH_KPUKDR1) := kp_ukd_r1
+board-$(CONFIG_MACH_KPUKDR1_NUM) := kp_ukd_r1_num
+board-$(CONFIG_MACH_KPUKDR2) := kp_ukd_r2
+board-$(CONFIG_MACH_KPUKDR2_NUM) := kp_ukd_r2_num
+board-$(CONFIG_MACH_PCM982_5485) := phycore_mcf54xx
+board-$(CONFIG_MACH_PCM982_5475) := phycore_mcf54xx
+board-$(CONFIG_MACH_PCM982_5475_NUM) := phycore_mcf54xx_num
+board-$(CONFIG_MACH_PCM982_54455) := phycore_mcf5445x
+
+cpu-$(CONFIG_MCFV4E) := mcfv4e
+cpu-$(CONFIG_MCFV4M) := mcfv4m
+
+TEXT_BASE = $(CONFIG_TEXT_BASE)
+
+CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -P
+AFLAGS += -gdwarf-2 -save-temps
+# FIXME - remove overide
+CFLAGS := -Wall -Wundef -Wstrict-prototypes \
+ -msoft-float -mcfv4e -gdwarf-2 -feliminate-unused-debug-types \
+ -fmerge-all-constants -Os
+# Incompatible code in U-Boot for -std=c99
+LDFLAGS_uboot :=-L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+# --verbose --stats
+
+ifeq ($(incdir-y),)
+incdir-y := $(machine-y)
+endif
+INCDIR := arch-$(incdir-y)
+
+# Update machine arch and proc symlinks if something which affects
+# them changed. We use .arch to indicate when they were updated
+# last, otherwise make uses the target directory mtime.
+
+include/asm-m68k/.arch: $(wildcard include/config/arch/*.h) include/config/auto.conf
+ @echo ' SYMLINK include/asm-m68k/arch -> include/asm-m68k/$(INCDIR)'
+ifneq ($(KBUILD_SRC),)
+ $(Q)mkdir -p include/asm-m68k
+ $(Q)ln -fsn $(srctree)/include/asm-m68k/$(INCDIR) include/asm-m68k/arch
+else
+ $(Q)ln -fsn $(INCDIR) include/asm-m68k/arch
+endif
+ @echo ' SYMLINK include/asm-m68k/proc -> include/asm-m68k/proc-mcfv4e'
+ifneq ($(KBUILD_SRC),)
+ $(Q)mkdir -p include/asm-m68k
+ $(Q)ln -fsn $(srctree)/include/asm-m68k/proc-mcfv4e include/asm-m68k/proc
+else
+ $(Q)ln -fsn proc-mcfv4e include/asm-m68k/proc
+endif
+ @touch $@
+
+
+all: $(KBUILD_IMAGE)
+
+archprepare: maketools
+
+PHONY += maketools
+maketools: include/asm-m68k/.arch
+
+
+ifneq ($(board-y),)
+BOARD := board/$(board-y)/
+else
+BOARD :=
+endif
+
+ifneq ($(machine-y),)
+MACH := arch/m68k/mach-$(machine-y)/
+else
+MACH :=
+endif
+
+common-y += $(BOARD) $(MACH)
+common-y += arch/m68k/lib/ arch/m68k/cpu/
+
+lds-$(CONFIG_GENERIC_LINKER_SCRIPT) := arch/m68k/lib/u-boot.lds
+lds-$(CONFIG_BOARD_LINKER_SCRIPT) := $(BOARD)/u-boot.lds
+
+CLEAN_FILES += arch/m68k/lib/u-boot.lds
+MRPROPER_FILES += include/asm-m68k/arch include/asm-m68k/proc