diff options
Diffstat (limited to 'arch/frv/Makefile')
-rw-r--r-- | arch/frv/Makefile | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/arch/frv/Makefile b/arch/frv/Makefile new file mode 100644 index 000000000000..54046d2386f5 --- /dev/null +++ b/arch/frv/Makefile @@ -0,0 +1,118 @@ +# +# frv/Makefile +# +# This file is included by the global makefile so that you can add your own +# architecture-specific flags and dependencies. Remember to do have actions +# for "archclean" and "archdep" for cleaning up and making dependencies for +# this architecture +# +# This file is subject to the terms and conditions of the GNU General Public +# License. See the file "COPYING" in the main directory of this archive +# for more details. +# +# Copyright (c) 2003, 2004 Red Hat Inc. +# - Written by David Howells <dhowells@redhat.com> +# - Derived from arch/m68knommu/Makefile, +# Copyright (c) 1999,2001 D. Jeff Dionne <jeff@lineo.ca>, +# Rt-Control Inc. / Lineo, Inc. +# +# Copyright (C) 1998,1999 D. Jeff Dionne <jeff@uclinux.org>, +# Kenneth Albanowski <kjahds@kjahds.com>, +# +# Based on arch/m68k/Makefile: +# Copyright (C) 1994 by Hamish Macdonald +# + +CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-) +CCDIR := $(strip $(patsubst %/specs,%,$(CCSPECS))) +CPUCLASS := fr400 + +# test for cross compiling +COMPILE_ARCH = $(shell uname -m) + +ifdef CONFIG_MMU +UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\" +else +UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\" +endif + +ARCHMODFLAGS += -G0 -mlong-calls + +ifdef CONFIG_GPREL_DATA_8 +CFLAGS += -G8 +else +ifdef CONFIG_GPREL_DATA_4 +CFLAGS += -G4 +else +ifdef CONFIG_GPREL_DATA_NONE +CFLAGS += -G0 +endif +endif +endif + +#LDFLAGS_vmlinux := -Map linkmap.txt + +ifdef CONFIG_GC_SECTIONS +CFLAGS += -ffunction-sections -fdata-sections +LINKFLAGS += --gc-sections +endif + +ifndef CONFIG_FRAME_POINTER +CFLAGS += -mno-linked-fp +endif + +ifdef CONFIG_CPU_FR451_COMPILE +CFLAGS += -mcpu=fr450 +AFLAGS += -mcpu=fr450 +ASFLAGS += -mcpu=fr450 +else +ifdef CONFIG_CPU_FR551_COMPILE +CFLAGS += -mcpu=fr550 +AFLAGS += -mcpu=fr550 +ASFLAGS += -mcpu=fr550 +else +CFLAGS += -mcpu=fr400 +AFLAGS += -mcpu=fr400 +ASFLAGS += -mcpu=fr400 +endif +endif + +# pretend the kernel is going to run on an FR400 with no media-fp unit +# - reserve CC3 for use with atomic ops +# - all the extra registers are dealt with only at context switch time +CFLAGS += -mno-fdpic -mgpr-32 -msoft-float -mno-media +CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 +AFLAGS += -mno-fdpic +ASFLAGS += -mno-fdpic + +# make sure the .S files get compiled with debug info +# and disable optimisations that are unhelpful whilst debugging +ifdef CONFIG_DEBUG_INFO +CFLAGS += -O1 +AFLAGS += -Wa,--gdwarf2 +ASFLAGS += -Wa,--gdwarf2 +endif + +head-y := arch/frv/kernel/head.o arch/frv/kernel/init_task.o + +core-y += arch/frv/kernel/ arch/frv/mm/ +libs-y += arch/frv/lib/ + +core-$(CONFIG_MB93090_MB00) += arch/frv/mb93090-mb00/ + +all: Image + +Image: vmlinux + $(Q)$(MAKE) $(build)=arch/frv/boot $@ + +bootstrap: + $(Q)$(MAKEBOOT) bootstrap + +archmrproper: + $(Q)$(MAKE) -C arch/frv/boot mrproper + +archclean: + $(Q)$(MAKE) -C arch/frv/boot clean + +archdep: scripts/mkdep symlinks + $(Q)$(MAKE) -C arch/frv/boot dep |