Blame view

arch/frv/Makefile 2.79 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
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
28baebae7   David Howells   [PATCH] FRV: Use ...
84
  CFLAGS		+= -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
86
87
88
89
90
  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
ea02e3dde   David Howells   FRV: work around ...
91
  #CFLAGS		+= -O1
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
  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
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
110
  archclean:
00ddaf20b   Al Viro   [PATCH] sanitize ...
111
  	$(Q)$(MAKE) $(clean)=arch/frv/boot
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
112
113
  
  archdep: scripts/mkdep symlinks
41be6aef3   David Howells   [PATCH] frv: misc...
114
  	$(Q)$(MAKE) $(build)=arch/frv/boot dep