more changes on original files
[linux-2.4.git] / arch / sh64 / Makefile
1 #
2 # This file is subject to the terms and conditions of the GNU General Public
3 # License.  See the file "COPYING" in the main directory of this archive
4 # for more details.
5 #
6 # Copyright (C) 2000, 2001  Paolo Alberelli
7 # Copyright (C) 2003  Paul Mundt
8 #
9 # This file is included by the global makefile so that you can add your own
10 # architecture-specific flags and dependencies. Remember to do have actions
11 # for "archclean" and "archdep" for cleaning up and making dependencies for
12 # this architecture
13 #
14 # Note that top level Makefile automagically builds dependencies for SUBDIRS
15 # but does not automagically clean SUBDIRS. Therefore "archclean" should clean
16 # up all, "archdep" does nothing on added SUBDIRS.
17 #
18
19 cpu-y                           := -mb
20 cpu-$(CONFIG_LITTLE_ENDIAN)     := -ml
21
22 cpu-$(CONFIG_CPU_SH5)           += -m5-32media-nofpu
23
24 ifdef CONFIG_LITTLE_ENDIAN
25 LDFLAGS         += -EL  -mshlelf32_linux
26 else
27 LDFLAGS         += -EB  -mshelf32_linux
28 endif
29
30 # No requirements for endianess support from AFLAGS, 'as' always run through gcc
31 AFLAGS          += -m5 -isa=sh64 -traditional
32 CFLAGS          += $(cpu-y)
33
34 ENTRY_POINT     = --defsym phys_stext=_stext-0x$(CONFIG_CACHED_MEMORY_OFFSET) \
35                   -e phys_stext
36 OBJCOPY         = $(CROSS_COMPILE)objcopy -O binary -R .note -R .comment \
37                   -R .stab -R .stabstr -S
38 LD              = $(CROSS_COMPILE)ld $(LDFLAGS)
39
40 LINKFLAGS     += -T arch/$(ARCH)/vmlinux.lds  $(ENTRY_POINT)
41
42 ifdef LOADADDR
43 LINKFLAGS     += -Ttext $(word 1,$(LOADADDR))
44 endif
45
46 machine-$(CONFIG_SH_CAYMAN)     := cayman
47 machine-$(CONFIG_SH_SIMULATOR)  := sim
48 machine-$(CONFIG_SH_HARP)       := harp
49
50 HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
51 MAKEROOTFS =
52
53 SUBDIRS += $(addprefix arch/$(ARCH)/, kernel mm lib mach-$(machine-y))
54 CORE_FILES := arch/$(ARCH)/kernel/kernel.o arch/$(ARCH)/mm/mm.o \
55               arch/$(ARCH)/mach-$(machine-y)/$(machine-y).o \
56               $(CORE_FILES) 
57
58 LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
59 LIBS := $(TOPDIR)/arch/$(ARCH)/lib/lib.a $(LIBS) $(LIBGCC)
60
61 MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
62
63 #
64 # override the assembly rules
65 #
66 #.S.o:
67 #       $(CC) $(CFLAGS) $(AFLAGS) -c $< -o $*.o
68
69 vmlinux: arch/$(ARCH)/vmlinux.lds
70
71 arch/$(ARCH)/vmlinux.lds: arch/$(ARCH)/vmlinux.lds.S FORCE
72         $(CPP) $(TOOLCHAIN) $(AFLAGS) -C -P -I$(HPATH) -U$(ARCH) arch/$(ARCH)/vmlinux.lds.S >arch/$(ARCH)/vmlinux.lds
73
74 FORCE: ;
75
76 zImage: vmlinux
77         @$(MAKEBOOT) zImage
78
79 compressed: zImage
80
81 zdisk: vmlinux
82         @$(MAKEBOOT) zdisk
83
84 archclean:
85 #       @$(MAKEBOOT) clean
86
87 archmrproper:
88         rm -f arch/$(ARCH)/vmlinux.lds
89
90 archdep:
91 #       @$(MAKEBOOT) dep