summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-21 22:28:28 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-01-28 13:18:54 +0900
commitd088f323574ea932a9bfc65302120e1526131887 (patch)
treebe72db6c227503b37ad0f668c854cfb5e924e844 /arch/sh
parentc2f1755becdc7c78ca07a516d358d9fa7a0a2707 (diff)
sh: Consolidate sh/sh64 Makefiles.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/Makefile50
1 files changed, 44 insertions, 6 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 3825e226dd64..afe4e6343248 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -139,6 +139,12 @@ core-y += $(addprefix arch/sh/boards/, \
$(filter-out ., $(patsubst %,%/,$(machdir-y))))
endif
+# SH-5 mach types
+# XXX.. to be reconciled with machdir-y later.
+core-$(CONFIG_SH_SIMULATOR) += arch/sh/mach-sim/
+core-$(CONFIG_SH_CAYMAN) += arch/sh/mach-cayman/
+core-$(CONFIG_SH_HARP) += arch/sh/mach-harp/
+
# Companion chips
core-$(CONFIG_HD6446X_SERIES) += arch/sh/cchips/hd6446x/
core-$(CONFIG_MFD_SM501) += arch/sh/cchips/voyagergx/
@@ -203,9 +209,8 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
done
@touch $@
-archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools
-
PHONY += maketools FORCE
+
maketools: include/linux/version.h FORCE
$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
@@ -216,16 +221,49 @@ zImage uImage uImage.srec vmlinux.srec: vmlinux
compressed: zImage
+archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools \
+ arch/sh/lib64/syscalltab.h
+
archclean:
$(Q)$(MAKE) $(clean)=$(boot)
-CLEAN_FILES += include/asm-sh/machtypes.h \
- include/asm-sh/cpu include/asm-sh/.cpu \
- include/asm-sh/mach include/asm-sh/.mach
-
define archhelp
@echo '* zImage - Compressed kernel image'
@echo ' vmlinux.srec - Create an ELF S-record'
@echo ' uImage - Create a bootable image for U-Boot'
@echo ' uImage.srec - Create an S-record for U-Boot'
endef
+
+define filechk_gen-syscalltab
+ (set -e; \
+ echo "/*"; \
+ echo " * DO NOT MODIFY."; \
+ echo " *"; \
+ echo " * This file was generated by arch/sh/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/sh/lib64/syscalltab.h: arch/sh/kernel/syscalls_64.S
+ $(call filechk,gen-syscalltab)
+
+CLEAN_FILES += arch/sh/lib64/syscalltab.h \
+ include/asm-sh/machtypes.h \
+ include/asm-sh/cpu include/asm-sh/.cpu \
+ include/asm-sh/mach include/asm-sh/.mach