Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
[linux-2.6/openmoko-kernel/knife-kernel.git] / arch / frv / Makefile
blob310c47a663f8ffc4d9f038494e49fcc44505cbc8
2 # frv/Makefile
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
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.
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.
19 # Copyright (C) 1998,1999 D. Jeff Dionne <jeff@uclinux.org>,
20 # Kenneth Albanowski <kjahds@kjahds.com>,
22 # Based on arch/m68k/Makefile:
23 # Copyright (C) 1994 by Hamish Macdonald
26 CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-)
27 CCDIR := $(strip $(patsubst %/specs,%,$(CCSPECS)))
28 CPUCLASS := fr400
30 # test for cross compiling
31 COMPILE_ARCH = $(shell uname -m)
33 ifdef CONFIG_MMU
34 UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\"
35 else
36 UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"
37 endif
39 ARCHMODFLAGS += -G0 -mlong-calls
41 ifdef CONFIG_GPREL_DATA_8
42 KBUILD_CFLAGS += -G8
43 else
44 ifdef CONFIG_GPREL_DATA_4
45 KBUILD_CFLAGS += -G4
46 else
47 ifdef CONFIG_GPREL_DATA_NONE
48 KBUILD_CFLAGS += -G0
49 endif
50 endif
51 endif
53 #LDFLAGS_vmlinux := -Map linkmap.txt
55 ifdef CONFIG_GC_SECTIONS
56 KBUILD_CFLAGS += -ffunction-sections -fdata-sections
57 LINKFLAGS += --gc-sections
58 endif
60 ifndef CONFIG_FRAME_POINTER
61 KBUILD_CFLAGS += -mno-linked-fp
62 endif
64 ifdef CONFIG_CPU_FR451_COMPILE
65 KBUILD_CFLAGS += -mcpu=fr450
66 KBUILD_AFLAGS += -mcpu=fr450
67 ASFLAGS += -mcpu=fr450
68 else
69 ifdef CONFIG_CPU_FR551_COMPILE
70 KBUILD_CFLAGS += -mcpu=fr550
71 KBUILD_AFLAGS += -mcpu=fr550
72 ASFLAGS += -mcpu=fr550
73 else
74 KBUILD_CFLAGS += -mcpu=fr400
75 KBUILD_AFLAGS += -mcpu=fr400
76 ASFLAGS += -mcpu=fr400
77 endif
78 endif
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
83 KBUILD_CFLAGS += -mno-fdpic -mgpr-32 -msoft-float -mno-media
84 KBUILD_CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
85 KBUILD_AFLAGS += -mno-fdpic
86 ASFLAGS += -mno-fdpic
88 # make sure the .S files get compiled with debug info
89 # and disable optimisations that are unhelpful whilst debugging
90 ifdef CONFIG_DEBUG_INFO
91 #KBUILD_CFLAGS += -O1
92 KBUILD_AFLAGS += -Wa,--gdwarf2
93 ASFLAGS += -Wa,--gdwarf2
94 endif
96 head-y := arch/frv/kernel/head.o arch/frv/kernel/init_task.o
98 core-y += arch/frv/kernel/ arch/frv/mm/
99 libs-y += arch/frv/lib/
101 core-$(CONFIG_MB93090_MB00) += arch/frv/mb93090-mb00/
103 all: Image
105 Image: vmlinux
106 $(Q)$(MAKE) $(build)=arch/frv/boot $@
108 bootstrap:
109 $(Q)$(MAKEBOOT) bootstrap
111 archclean:
112 $(Q)$(MAKE) $(clean)=arch/frv/boot
114 archdep: scripts/mkdep symlinks
115 $(Q)$(MAKE) $(build)=arch/frv/boot dep