]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sh/Makefile
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
[linux-2.6-omap-h63xx.git] / arch / sh / Makefile
index 15161f1851a50bf46a9214bdcb52354f996c6ca1..c510c225144fc57a9222af156f98fe8384073cb3 100644 (file)
@@ -1,17 +1,13 @@
-# $Id: Makefile,v 1.35 2004/04/15 03:39:20 sugioka Exp $
 #
-# 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.
+# arch/sh/Makefile
 #
 # Copyright (C) 1999  Kaz Kojima
 # Copyright (C) 2002, 2003, 2004  Paul Mundt
 # Copyright (C) 2002  M. R. Brown
 #
-# 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
+# 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.
 #
 isa-y                                  := any
 isa-$(CONFIG_SH_DSP)                   := sh
@@ -24,10 +20,6 @@ isa-$(CONFIG_CPU_SH4AL_DSP)          := sh4al
 isa-$(CONFIG_CPU_SH5)                  := shmedia
 isa-$(CONFIG_SH_DSP)                   := $(isa-y)-dsp
 
-ifndef CONFIG_MMU
-isa-y                  := $(isa-y)-nommu
-endif
-
 ifndef CONFIG_SH_DSP
 ifndef CONFIG_SH_FPU
 isa-y                  := $(isa-y)-nofpu
@@ -67,16 +59,15 @@ cflags-y    += $(isaflags-y) -ffreestanding
 cflags-$(CONFIG_MORE_COMPILE_OPTIONS)  += \
        $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
 
-OBJCOPYFLAGS   := -O binary -R .note -R .note.gnu.build-id -R .comment -R .stab -R .stabstr -S
+OBJCOPYFLAGS   := -O binary -R .note -R .note.gnu.build-id -R .comment \
+                  -R .stab -R .stabstr -S
 
-#
-# arch/sh/defconfig doesn't reflect any real hardware, and as such should
-# never be used by anyone. Use a board-specific defconfig that has a
-# reasonable chance of being current instead.
-#
-KBUILD_DEFCONFIG       := r7780rp_defconfig
+# Give the various platforms the opportunity to set default image types
+defaultimage-$(CONFIG_SUPERH32)        := zImage
 
-KBUILD_IMAGE           := arch/sh/boot/zImage
+# Set some sensible Kbuild defaults
+KBUILD_DEFCONFIG       := r7780mp_defconfig
+KBUILD_IMAGE           := $(defaultimage-y)
 
 #
 # Choosing incompatible machines durings configuration will result in
@@ -85,7 +76,7 @@ KBUILD_IMAGE          := arch/sh/boot/zImage
 ifdef CONFIG_SUPERH32
 LDFLAGS_vmlinux        += -e _stext
 else
-LDFLAGS_vmlinux        += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \
+LDFLAGS_vmlinux        += --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
                   --defsym phys_stext_shmedia=phys_stext+1 \
                   -e phys_stext_shmedia
 endif
@@ -121,12 +112,12 @@ machdir-$(CONFIG_SH_DREAMCAST)                    += dreamcast
 machdir-$(CONFIG_SH_MPC1211)                   += mpc1211
 machdir-$(CONFIG_SH_SH03)                      += sh03
 machdir-$(CONFIG_SH_SECUREEDGE5410)            += snapgear
-machdir-$(CONFIG_SH_HS7751RVOIP)               += renesas/hs7751rvoip
 machdir-$(CONFIG_SH_RTS7751R2D)                        += renesas/rts7751r2d
 machdir-$(CONFIG_SH_7751_SYSTEMH)              += renesas/systemh
 machdir-$(CONFIG_SH_EDOSK7705)                 += renesas/edosk7705
 machdir-$(CONFIG_SH_HIGHLANDER)                        += renesas/r7780rp
-machdir-$(CONFIG_SH_7710VOIPGW)                        += renesas/sh7710voipgw
+machdir-$(CONFIG_SH_MIGOR)                     += renesas/migor
+machdir-$(CONFIG_SH_SDK7780)                   += renesas/sdk7780
 machdir-$(CONFIG_SH_X3PROTO)                   += renesas/x3proto
 machdir-$(CONFIG_SH_SH4202_MICRODEV)           += superh/microdev
 machdir-$(CONFIG_SH_LANDISK)                   += landisk
@@ -136,6 +127,7 @@ machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)   += se/7206
 machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)      += se/7619
 machdir-$(CONFIG_SH_LBOX_RE2)                  += lboxre2
 machdir-$(CONFIG_SH_MAGIC_PANEL_R2)            += magicpanelr2
+machdir-$(CONFIG_SH_CAYMAN)                    += cayman
 
 incdir-y       := $(notdir $(machdir-y))
 
@@ -146,7 +138,6 @@ endif
 
 # Companion chips
 core-$(CONFIG_HD6446X_SERIES)  += arch/sh/cchips/hd6446x/
-core-$(CONFIG_MFD_SM501)       += arch/sh/cchips/voyagergx/
 
 cpuincdir-$(CONFIG_CPU_SH2)    := cpu-sh2
 cpuincdir-$(CONFIG_CPU_SH2A)   := cpu-sh2a
@@ -163,8 +154,6 @@ drivers-$(CONFIG_OPROFILE)  += arch/sh/oprofile/
 
 boot := arch/sh/boot
 
-CPPFLAGS_vmlinux.lds := -traditional
-
 incdir-prefix  := $(srctree)/include/asm-sh/
 
 #      Update machine arch and proc symlinks if something which affects
@@ -208,29 +197,61 @@ 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
 
-all: zImage
+all: $(KBUILD_IMAGE)
 
 zImage uImage uImage.srec vmlinux.srec: vmlinux
        $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
 
 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