Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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, 2004 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 | |
| 15 | cpu-y := -mb |
| 16 | cpu-$(CONFIG_LITTLE_ENDIAN) := -ml |
| 17 | |
| 18 | cpu-$(CONFIG_CPU_SH5) += -m5-32media-nofpu |
| 19 | |
| 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 |
| 27 | |
| 28 | # No requirements for endianess support from AFLAGS, 'as' always run through gcc |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | CFLAGS += $(cpu-y) |
| 30 | |
| 31 | LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \ |
| 32 | --defsym phys_stext_shmedia=phys_stext+1 \ |
| 33 | -e phys_stext_shmedia |
| 34 | |
| 35 | OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S |
| 36 | |
| 37 | # |
| 38 | # arch/sh64/defconfig never had any hope of being |
| 39 | # frequently updated, so use one that does |
| 40 | # |
| 41 | KBUILD_DEFCONFIG := cayman_defconfig |
| 42 | |
| 43 | ifdef LOADADDR |
| 44 | LINKFLAGS += -Ttext $(word 1,$(LOADADDR)) |
| 45 | endif |
| 46 | |
| 47 | machine-$(CONFIG_SH_CAYMAN) := cayman |
| 48 | machine-$(CONFIG_SH_SIMULATOR) := sim |
| 49 | machine-$(CONFIG_SH_HARP) := harp |
| 50 | machine-$(CONFIG_SH_ROMRAM) := romram |
| 51 | |
| 52 | head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o |
| 53 | |
| 54 | core-y += arch/sh64/kernel/ arch/sh64/mm/ |
| 55 | |
| 56 | ifneq ($(machine-y),) |
| 57 | core-y += arch/sh64/mach-$(machine-y)/ |
| 58 | endif |
| 59 | |
| 60 | LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) |
| 61 | libs-y += arch/$(ARCH)/lib/ $(LIBGCC) |
| 62 | |
| 63 | drivers-$(CONFIG_OPROFILE) += arch/sh64/oprofile/ |
| 64 | |
| 65 | boot := arch/$(ARCH)/boot |
| 66 | |
| 67 | zImage: vmlinux |
| 68 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ |
| 69 | |
| 70 | compressed: zImage |
| 71 | |
| 72 | archclean: |
| 73 | $(Q)$(MAKE) $(clean)=$(boot) |
| 74 | |
Sam Ravnborg | 5bb7826 | 2005-09-11 22:30:22 +0200 | [diff] [blame] | 75 | archprepare: arch/$(ARCH)/lib/syscalltab.h |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | |
| 77 | define filechk_gen-syscalltab |
| 78 | (set -e; \ |
| 79 | echo "/*"; \ |
| 80 | echo " * DO NOT MODIFY."; \ |
| 81 | echo " *"; \ |
| 82 | echo " * This file was generated by arch/$(ARCH)/Makefile"; \ |
| 83 | echo " * Any changes will be reverted at build time."; \ |
| 84 | echo " */"; \ |
| 85 | echo ""; \ |
| 86 | echo "#ifndef __SYSCALLTAB_H"; \ |
| 87 | echo "#define __SYSCALLTAB_H"; \ |
| 88 | echo ""; \ |
| 89 | echo "#include <linux/kernel.h>"; \ |
| 90 | echo ""; \ |
| 91 | echo "struct syscall_info {"; \ |
| 92 | echo " const char *name;"; \ |
| 93 | echo "} syscall_info_table[] = {"; \ |
| 94 | sed -e '/^.*\.long /!d;s// { "/;s/\(\([^/]*\)\/\)\{1\}.*/\2/; \ |
| 95 | s/[ \t]*$$//g;s/$$/" },/;s/\("\)sys_/\1/g'; \ |
| 96 | echo "};"; \ |
| 97 | echo ""; \ |
| 98 | echo "#define NUM_SYSCALL_INFO_ENTRIES ARRAY_SIZE(syscall_info_table)"; \ |
| 99 | echo ""; \ |
| 100 | echo "#endif /* __SYSCALLTAB_H */" ) |
| 101 | endef |
| 102 | |
| 103 | arch/$(ARCH)/lib/syscalltab.h: arch/sh64/kernel/syscalls.S |
| 104 | $(call filechk,gen-syscalltab) |
| 105 | |
Sam Ravnborg | cca6e6f | 2005-09-09 20:28:49 +0200 | [diff] [blame] | 106 | CLEAN_FILES += arch/$(ARCH)/lib/syscalltab.h |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 107 | |
| 108 | define archhelp |
| 109 | @echo ' zImage - Compressed kernel image (arch/sh64/boot/zImage)' |
| 110 | endef |
| 111 | |