Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
[pv_ops_mirror.git] / arch / sh64 / Makefile
blob8dac7e1a2be609f98385ffad7307c95e824ab798
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.
6 # Copyright (C) 2000, 2001 Paolo Alberelli
7 # Copyright (C) 2003, 2004 Paul Mundt
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
15 cpu-y := -mb
16 cpu-$(CONFIG_LITTLE_ENDIAN) := -ml
18 cpu-$(CONFIG_CPU_SH5) += -m5-32media-nofpu
20 ifdef CONFIG_LITTLE_ENDIAN
21 LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64'
22 LDFLAGS += -EL -mshlelf32_linux
23 else
24 LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64+4'
25 LDFLAGS += -EB -mshelf32_linux
26 endif
28 # No requirements for endianess support from AFLAGS, 'as' always run through gcc
29 KBUILD_CFLAGS += $(cpu-y)
31 LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \
32 --defsym phys_stext_shmedia=phys_stext+1 \
33 -e phys_stext_shmedia
35 OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S
38 # arch/sh64/defconfig never had any hope of being
39 # frequently updated, so use one that does
41 KBUILD_DEFCONFIG := cayman_defconfig
43 KBUILD_IMAGE := arch/$(ARCH)/boot/zImage
45 ifdef LOADADDR
46 LINKFLAGS += -Ttext $(word 1,$(LOADADDR))
47 endif
49 machine-$(CONFIG_SH_CAYMAN) := cayman
50 machine-$(CONFIG_SH_SIMULATOR) := sim
51 machine-$(CONFIG_SH_HARP) := harp
53 head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
55 core-y += arch/sh64/kernel/ arch/sh64/mm/
57 ifneq ($(machine-y),)
58 core-y += arch/sh64/mach-$(machine-y)/
59 endif
61 LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
62 libs-y += arch/$(ARCH)/lib/ $(LIBGCC)
64 drivers-$(CONFIG_OPROFILE) += arch/sh64/oprofile/
66 boot := arch/$(ARCH)/boot
68 zImage: vmlinux
69 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
71 compressed: zImage
73 archclean:
74 $(Q)$(MAKE) $(clean)=$(boot)
76 archprepare: arch/$(ARCH)/lib/syscalltab.h
78 define filechk_gen-syscalltab
79 (set -e; \
80 echo "/*"; \
81 echo " * DO NOT MODIFY."; \
82 echo " *"; \
83 echo " * This file was generated by arch/$(ARCH)/Makefile"; \
84 echo " * Any changes will be reverted at build time."; \
85 echo " */"; \
86 echo ""; \
87 echo "#ifndef __SYSCALLTAB_H"; \
88 echo "#define __SYSCALLTAB_H"; \
89 echo ""; \
90 echo "#include <linux/kernel.h>"; \
91 echo ""; \
92 echo "struct syscall_info {"; \
93 echo " const char *name;"; \
94 echo "} syscall_info_table[] = {"; \
95 sed -e '/^.*\.long /!d;s// { "/;s/\(\([^/]*\)\/\)\{1\}.*/\2/; \
96 s/[ \t]*$$//g;s/$$/" },/;s/\("\)sys_/\1/g'; \
97 echo "};"; \
98 echo ""; \
99 echo "#define NUM_SYSCALL_INFO_ENTRIES ARRAY_SIZE(syscall_info_table)"; \
100 echo ""; \
101 echo "#endif /* __SYSCALLTAB_H */" )
102 endef
104 arch/$(ARCH)/lib/syscalltab.h: arch/sh64/kernel/syscalls.S
105 $(call filechk,gen-syscalltab)
107 CLEAN_FILES += arch/$(ARCH)/lib/syscalltab.h
109 define archhelp
110 @echo '* zImage - Compressed kernel image'
111 endef