# # 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) 2000, 2001 Paolo Alberelli # Copyright (C) 2003, 2004 Paul Mundt # # 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 # cpu-y := -mb cpu-$(CONFIG_LITTLE_ENDIAN) := -ml cpu-$(CONFIG_CPU_SH5) += -m5-32media-nofpu ifdef CONFIG_LITTLE_ENDIAN LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64' LDFLAGS += -EL -mshlelf32_linux else LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64+4' LDFLAGS += -EB -mshelf32_linux endif # No requirements for endianess support from AFLAGS, 'as' always run through gcc AFLAGS += -m5 -isa=sh64 -traditional CFLAGS += $(cpu-y) LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \ --defsym phys_stext_shmedia=phys_stext+1 \ -e phys_stext_shmedia OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S # # arch/sh64/defconfig never had any hope of being # frequently updated, so use one that does # KBUILD_DEFCONFIG := cayman_defconfig ifdef LOADADDR LINKFLAGS += -Ttext $(word 1,$(LOADADDR)) endif machine-$(CONFIG_SH_CAYMAN) := cayman machine-$(CONFIG_SH_SIMULATOR) := sim machine-$(CONFIG_SH_HARP) := harp machine-$(CONFIG_SH_ROMRAM) := romram head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o core-y += arch/sh64/kernel/ arch/sh64/mm/ ifneq ($(machine-y),) core-y += arch/sh64/mach-$(machine-y)/ endif LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) libs-y += arch/$(ARCH)/lib/ $(LIBGCC) drivers-$(CONFIG_OPROFILE) += arch/sh64/oprofile/ boot := arch/$(ARCH)/boot zImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ compressed: zImage archclean: $(Q)$(MAKE) $(clean)=$(boot) prepare: include/asm-$(ARCH)/asm-offsets.h arch/$(ARCH)/lib/syscalltab.h include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.s \ include/asm include/linux/version.h $(call filechk,gen-asm-offsets) define filechk_gen-syscalltab (set -e; \ echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \ echo " * This file was generated by arch/$(ARCH)/Makefile"; \ echo " * Any changes will be reverted at build time."; \ echo " */"; \ echo ""; \ echo "#ifndef __SYSCALLTAB_H"; \ echo "#define __SYSCALLTAB_H"; \ echo ""; \ echo "#include <linux/kernel.h>"; \ echo ""; \ echo "struct syscall_info {"; \ echo " const char *name;"; \ echo "} syscall_info_table[] = {"; \ sed -e '/^.*\.long /!d;s// { "/;s/\(\([^/]*\)\/\)\{1\}.*/\2/; \ s/[ \t]*$$//g;s/$$/" },/;s/\("\)sys_/\1/g'; \ echo "};"; \ echo ""; \ echo "#define NUM_SYSCALL_INFO_ENTRIES ARRAY_SIZE(syscall_info_table)"; \ echo ""; \ echo "#endif /* __SYSCALLTAB_H */" ) endef arch/$(ARCH)/lib/syscalltab.h: arch/sh64/kernel/syscalls.S $(call filechk,gen-syscalltab) CLEAN_FILES += include/asm-$(ARCH)/asm-offsets.h arch/$(ARCH)/lib/syscalltab.h define archhelp @echo ' zImage - Compressed kernel image (arch/sh64/boot/zImage)' endef