| # | |
| # 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) | |
| archprepare: arch/$(ARCH)/lib/syscalltab.h | |
| 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 += arch/$(ARCH)/lib/syscalltab.h | |
| define archhelp | |
| @echo ' zImage - Compressed kernel image (arch/sh64/boot/zImage)' | |
| endef | |