obj-$(CONFIG_CPU_SH2A)         = sh2a/
 obj-$(CONFIG_CPU_SH3)          = sh3/
 obj-$(CONFIG_CPU_SH4)          = sh4/
+obj-$(CONFIG_CPU_SH5)          = sh5/
+
+# Special cases for family ancestry.
+
 obj-$(CONFIG_CPU_SH4A)         += sh4a/
 
+# Common interfaces.
+
 obj-$(CONFIG_UBC_WAKEUP)       += ubc.o
 obj-$(CONFIG_SH_ADC)           += adc.o
 
 
--- /dev/null
+obj-y := entry.o
 
  * Copyright (C) 2003, 2004 Richard Curnow
  *
  */
-
 #include <linux/errno.h>
 #include <linux/sys.h>
-
+#include <asm/cpu/registers.h>
 #include <asm/processor.h>
-#include <asm/registers.h>
 #include <asm/unistd.h>
 #include <asm/thread_info.h>
 #include <asm/asm-offsets.h>
 
 
 #include <asm/cpu-features.h>
 
+#ifndef __ASSEMBLY__
+
 /*
  *  CPU type and hardware bug flags. Kept separately for each CPU.
  *
        CPU_SH_NONE
 };
 
-#ifdef CONFIG_SUPERH32
-# include "processor_32.h"
-#else
-# include "processor_64.h"
-#endif
+/* Forward decl */
+struct sh_cpuinfo;
 
 /* arch/sh/kernel/setup.c */
 const char *get_cpu_subtype(struct sh_cpuinfo *c);
 #define vsyscall_init() do { } while (0)
 #endif
 
+#endif /* __ASSEMBLY__ */
+
+#ifdef CONFIG_SUPERH32
+# include "processor_32.h"
+#else
+# include "processor_64.h"
+#endif
+
 #endif /* __ASM_SH_PROCESSOR_H */