sh: Consolidate sh/sh64 Makefiles.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 21 Nov 2007 13:28:28 +0000 (22:28 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jan 2008 04:18:54 +0000 (13:18 +0900)
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/Makefile
arch/sh64/Makefile [deleted file]

index 3825e226dd64ddaa715847fa71a204436ba4c06e..afe4e6343248ac28e3a1c0dd07bc5fec6cae6c49 100644 (file)
@@ -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
diff --git a/arch/sh64/Makefile b/arch/sh64/Makefile
deleted file mode 100644 (file)
index 8dac7e1..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#
-# 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
-KBUILD_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
-
-KBUILD_IMAGE           := arch/$(ARCH)/boot/zImage
-
-ifdef LOADADDR
-LINKFLAGS     += -Ttext $(word 1,$(LOADADDR))
-endif
-
-machine-$(CONFIG_SH_CAYMAN)    := cayman
-machine-$(CONFIG_SH_SIMULATOR) := sim
-machine-$(CONFIG_SH_HARP)      := harp
-
-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) $(KBUILD_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'
-endef