1# 2# frv/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) 2003, 2004 Red Hat Inc. 14# - Written by David Howells <dhowells@redhat.com> 15# - Derived from arch/m68knommu/Makefile, 16# Copyright (c) 1999,2001 D. Jeff Dionne <jeff@lineo.ca>, 17# Rt-Control Inc. / Lineo, Inc. 18# 19# Copyright (C) 1998,1999 D. Jeff Dionne <jeff@uclinux.org>, 20# Kenneth Albanowski <kjahds@kjahds.com>, 21# 22# Based on arch/m68k/Makefile: 23# Copyright (C) 1994 by Hamish Macdonald 24# 25 26CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-) 27CCDIR := $(strip $(patsubst %/specs,%,$(CCSPECS))) 28CPUCLASS := fr400 29 30# test for cross compiling 31COMPILE_ARCH = $(shell uname -m) 32 33ifdef CONFIG_MMU 34UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\" 35else 36UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\" 37endif 38 39ARCHMODFLAGS += -G0 -mlong-calls 40 41ifdef CONFIG_GPREL_DATA_8 42KBUILD_CFLAGS += -G8 43else 44ifdef CONFIG_GPREL_DATA_4 45KBUILD_CFLAGS += -G4 46else 47ifdef CONFIG_GPREL_DATA_NONE 48KBUILD_CFLAGS += -G0 49endif 50endif 51endif 52 53#LDFLAGS_vmlinux := -Map linkmap.txt 54 55ifdef CONFIG_GC_SECTIONS 56KBUILD_CFLAGS += -ffunction-sections -fdata-sections 57LINKFLAGS += --gc-sections 58endif 59 60ifndef CONFIG_FRAME_POINTER 61KBUILD_CFLAGS += -mno-linked-fp 62endif 63 64ifdef CONFIG_CPU_FR451_COMPILE 65KBUILD_CFLAGS += -mcpu=fr450 66KBUILD_AFLAGS += -mcpu=fr450 67ASFLAGS += -mcpu=fr450 68else 69ifdef CONFIG_CPU_FR551_COMPILE 70KBUILD_CFLAGS += -mcpu=fr550 71KBUILD_AFLAGS += -mcpu=fr550 72ASFLAGS += -mcpu=fr550 73else 74KBUILD_CFLAGS += -mcpu=fr400 75KBUILD_AFLAGS += -mcpu=fr400 76ASFLAGS += -mcpu=fr400 77endif 78endif 79 80# pretend the kernel is going to run on an FR400 with no media-fp unit 81# - reserve CC3 for use with atomic ops 82# - all the extra registers are dealt with only at context switch time 83KBUILD_CFLAGS += -mno-fdpic -mgpr-32 -msoft-float -mno-media 84KBUILD_CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2 85KBUILD_AFLAGS += -mno-fdpic 86ASFLAGS += -mno-fdpic 87 88# make sure the .S files get compiled with debug info 89# and disable optimisations that are unhelpful whilst debugging 90ifdef CONFIG_DEBUG_INFO 91#KBUILD_CFLAGS += -O1 92KBUILD_AFLAGS += -Wa,--gdwarf2 93ASFLAGS += -Wa,--gdwarf2 94endif 95 96head-y := arch/frv/kernel/head.o arch/frv/kernel/init_task.o 97 98core-y += arch/frv/kernel/ arch/frv/mm/ 99libs-y += arch/frv/lib/ 100 101core-$(CONFIG_MB93090_MB00) += arch/frv/mb93090-mb00/ 102 103all: Image 104 105Image: vmlinux 106 $(Q)$(MAKE) $(build)=arch/frv/boot $@ 107 108bootstrap: 109 $(Q)$(MAKEBOOT) bootstrap 110 111archclean: 112 $(Q)$(MAKE) $(clean)=arch/frv/boot 113 114archdep: scripts/mkdep symlinks 115 $(Q)$(MAKE) $(build)=arch/frv/boot dep 116