Makefile 2.9 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
#
# 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
84
CFLAGS		+= -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
L
Linus Torvalds 已提交
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
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:
112
	$(Q)$(MAKE) $(build)=arch/frv/boot mrproper
L
Linus Torvalds 已提交
113 114

archclean:
115
	$(Q)$(MAKE) $(build)=arch/frv/boot clean
L
Linus Torvalds 已提交
116 117

archdep: scripts/mkdep symlinks
118
	$(Q)$(MAKE) $(build)=arch/frv/boot dep