OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [sh/] [Makefile] - Blame information for rev 17

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
# $Id: Makefile,v 1.35 2004/04/15 03:39:20 sugioka Exp $
2
#
3
# This file is subject to the terms and conditions of the GNU General Public
4
# License.  See the file "COPYING" in the main directory of this archive
5
# for more details.
6
#
7
# Copyright (C) 1999  Kaz Kojima
8
# Copyright (C) 2002, 2003, 2004  Paul Mundt
9
# Copyright (C) 2002  M. R. Brown
10
#
11
# This file is included by the global makefile so that you can add your own
12
# architecture-specific flags and dependencies. Remember to do have actions
13
# for "archclean" and "archdep" for cleaning up and making dependencies for
14
# this architecture
15
#
16
isa-y                                   := any
17
isa-$(CONFIG_SH_DSP)                    := sh
18
isa-$(CONFIG_CPU_SH2)                   := sh2
19
isa-$(CONFIG_CPU_SH2A)                  := sh2a
20
isa-$(CONFIG_CPU_SH3)                   := sh3
21
isa-$(CONFIG_CPU_SH4)                   := sh4
22
isa-$(CONFIG_CPU_SH4A)                  := sh4a
23
isa-$(CONFIG_CPU_SH4AL_DSP)             := sh4al
24
 
25
isa-$(CONFIG_SH_DSP)                    := $(isa-y)-dsp
26
 
27
ifndef CONFIG_MMU
28
isa-y                   := $(isa-y)-nommu
29
endif
30
 
31
ifndef CONFIG_SH_DSP
32
ifndef CONFIG_SH_FPU
33
isa-y                   := $(isa-y)-nofpu
34
endif
35
endif
36
 
37
isa-y                   := $(isa-y)-up
38
 
39
cflags-$(CONFIG_CPU_SH2)                := $(call cc-option,-m2,)
40
cflags-$(CONFIG_CPU_SH2A)               += $(call cc-option,-m2a,) \
41
                                           $(call cc-option,-m2a-nofpu,)
42
cflags-$(CONFIG_CPU_SH3)                := $(call cc-option,-m3,)
43
cflags-$(CONFIG_CPU_SH4)                := $(call cc-option,-m4,) \
44
        $(call cc-option,-mno-implicit-fp,-m4-nofpu)
45
cflags-$(CONFIG_CPU_SH4A)               += $(call cc-option,-m4a,) \
46
                                           $(call cc-option,-m4a-nofpu,)
47
 
48
cflags-$(CONFIG_CPU_BIG_ENDIAN)         += -mb
49
cflags-$(CONFIG_CPU_LITTLE_ENDIAN)      += -ml
50
 
51
#
52
# -Wa,-isa= tuning implies -Wa,-dsp for the versions of binutils that
53
# support it, while -Wa,-dsp by itself limits the range of usable opcodes
54
# on certain CPU subtypes. Try the ISA variant first, and if that fails,
55
# fall back on -Wa,-dsp for the old binutils versions. Even without DSP
56
# opcodes, we always want the best ISA tuning the version of binutils
57
# will provide.
58
#
59
isaflags-y      := $(call as-option,-Wa$(comma)-isa=$(isa-y),)
60
 
61
isaflags-$(CONFIG_SH_DSP)               := \
62
        $(call as-option,-Wa$(comma)-isa=$(isa-y),-Wa$(comma)-dsp)
63
 
64
cflags-y        += $(isaflags-y) -ffreestanding
65
 
66
cflags-$(CONFIG_MORE_COMPILE_OPTIONS)   += \
67
        $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
68
 
69
OBJCOPYFLAGS    := -O binary -R .note -R .note.gnu.build-id -R .comment -R .stab -R .stabstr -S
70
 
71
#
72
# arch/sh/defconfig doesn't reflect any real hardware, and as such should
73
# never be used by anyone. Use a board-specific defconfig that has a
74
# reasonable chance of being current instead.
75
#
76
KBUILD_DEFCONFIG := r7780rp_defconfig
77
 
78
KBUILD_IMAGE    := arch/sh/boot/zImage
79
 
80
#
81
# Choosing incompatible machines durings configuration will result in
82
# error messages during linking.
83
#
84
LDFLAGS_vmlinux     += -e _stext
85
 
86
ifdef CONFIG_CPU_LITTLE_ENDIAN
87
LDFLAGS_vmlinux         += --defsym 'jiffies=jiffies_64'
88
LDFLAGS                 += -EL
89
else
90
LDFLAGS_vmlinux         += --defsym 'jiffies=jiffies_64+4'
91
LDFLAGS                 += -EB
92
endif
93
 
94
KBUILD_CFLAGS           += -pipe $(cflags-y)
95
KBUILD_AFLAGS           += $(cflags-y)
96
 
97
head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
98
 
99
LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
100
 
101
core-y                          += arch/sh/kernel/ arch/sh/mm/
102
core-$(CONFIG_SH_FPU_EMU)       += arch/sh/math-emu/
103
 
104
# Boards
105
machdir-$(CONFIG_SH_SOLUTION_ENGINE)            += se/770x
106
machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE)       += se/7722
107
machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)       += se/7751
108
machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE)       += se/7780
109
machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE)       += se/7343
110
machdir-$(CONFIG_SH_HP6XX)                      += hp6xx
111
machdir-$(CONFIG_SH_DREAMCAST)                  += dreamcast
112
machdir-$(CONFIG_SH_MPC1211)                    += mpc1211
113
machdir-$(CONFIG_SH_SH03)                       += sh03
114
machdir-$(CONFIG_SH_SECUREEDGE5410)             += snapgear
115
machdir-$(CONFIG_SH_HS7751RVOIP)                += renesas/hs7751rvoip
116
machdir-$(CONFIG_SH_RTS7751R2D)                 += renesas/rts7751r2d
117
machdir-$(CONFIG_SH_7751_SYSTEMH)               += renesas/systemh
118
machdir-$(CONFIG_SH_EDOSK7705)                  += renesas/edosk7705
119
machdir-$(CONFIG_SH_HIGHLANDER)                 += renesas/r7780rp
120
machdir-$(CONFIG_SH_7710VOIPGW)                 += renesas/sh7710voipgw
121
machdir-$(CONFIG_SH_X3PROTO)                    += renesas/x3proto
122
machdir-$(CONFIG_SH_SH4202_MICRODEV)            += superh/microdev
123
machdir-$(CONFIG_SH_LANDISK)                    += landisk
124
machdir-$(CONFIG_SH_TITAN)                      += titan
125
machdir-$(CONFIG_SH_SHMIN)                      += shmin
126
machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)       += se/7206
127
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)       += se/7619
128
machdir-$(CONFIG_SH_LBOX_RE2)                   += lboxre2
129
machdir-$(CONFIG_SH_MAGIC_PANEL_R2)             += magicpanelr2
130
 
131
incdir-y        := $(notdir $(machdir-y))
132
 
133
ifneq ($(machdir-y),)
134
core-y  += $(addprefix arch/sh/boards/, \
135
             $(filter-out ., $(patsubst %,%/,$(machdir-y))))
136
endif
137
 
138
# Companion chips
139
core-$(CONFIG_HD6446X_SERIES)   += arch/sh/cchips/hd6446x/
140
core-$(CONFIG_MFD_SM501)        += arch/sh/cchips/voyagergx/
141
 
142
cpuincdir-$(CONFIG_CPU_SH2)     := cpu-sh2
143
cpuincdir-$(CONFIG_CPU_SH2A)    := cpu-sh2a
144
cpuincdir-$(CONFIG_CPU_SH3)     := cpu-sh3
145
cpuincdir-$(CONFIG_CPU_SH4)     := cpu-sh4
146
 
147
libs-y                          := arch/sh/lib/ $(libs-y) $(LIBGCC)
148
 
149
drivers-y                       += arch/sh/drivers/
150
drivers-$(CONFIG_OPROFILE)      += arch/sh/oprofile/
151
 
152
boot := arch/sh/boot
153
 
154
CPPFLAGS_vmlinux.lds := -traditional
155
 
156
incdir-prefix   := $(srctree)/include/asm-sh/
157
 
158
#       Update machine arch and proc symlinks if something which affects
159
#       them changed.  We use .arch and .mach to indicate when they were
160
#       updated last, otherwise make uses the target directory mtime.
161
 
162
include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
163
                     include/config/auto.conf FORCE
164
        @echo '  SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
165
        $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
166
        $(Q)ln -fsn $(incdir-prefix)$(cpuincdir-y) include/asm-sh/cpu
167
        @touch $@
168
 
169
#       Most boards have their own mach directories.  For the ones that
170
#       don't, just reference the parent directory so the semantics are
171
#       kept roughly the same.
172
#
173
#       When multiple boards are compiled in at the same time, preference
174
#       for the mach link is given to whichever has a directory for its
175
#       headers. However, this is only a workaround until platforms that
176
#       can live in the same kernel image back away from relying on the
177
#       mach link.
178
 
179
include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
180
                      include/config/auto.conf FORCE
181
        $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
182
        $(Q)rm -f include/asm-sh/mach
183
        $(Q)for i in $(incdir-y); do \
184
        if [ -d $(incdir-prefix)$$i ]; then \
185
                echo -n '  SYMLINK include/asm-sh/mach -> '; \
186
                echo -e "include/asm-sh/$$i"; \
187
                ln -fsn $(incdir-prefix)$$i \
188
                        include/asm-sh/mach; \
189
        else \
190
                if [ ! -d include/asm-sh/mach ]; then \
191
                        echo -n '  SYMLINK include/asm-sh/mach -> '; \
192
                        echo -e 'include/asm-sh'; \
193
                        ln -fsn $(incdir-prefix) include/asm-sh/mach; \
194
                fi; \
195
        fi; \
196
        done
197
        @touch $@
198
 
199
archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools
200
 
201
PHONY += maketools FORCE
202
maketools:  include/linux/version.h FORCE
203
        $(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
204
 
205
all: zImage
206
 
207
zImage uImage uImage.srec vmlinux.srec: vmlinux
208
        $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
209
 
210
compressed: zImage
211
 
212
archclean:
213
        $(Q)$(MAKE) $(clean)=$(boot)
214
 
215
CLEAN_FILES += include/asm-sh/machtypes.h \
216
               include/asm-sh/cpu include/asm-sh/.cpu \
217
               include/asm-sh/mach include/asm-sh/.mach
218
 
219
define archhelp
220
        @echo '* zImage                    - Compressed kernel image'
221
        @echo '  vmlinux.srec              - Create an ELF S-record'
222
        @echo '  uImage                    - Create a bootable image for U-Boot'
223
        @echo '  uImage.srec               - Create an S-record for U-Boot'
224
endef

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.