blob: 9dbec6ed7381e3aba56a91601eec2089d08c8caf [file] [log] [blame]
#
# 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 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
#
# Note that top level Makefile automagically builds dependencies for SUBDIRS
# but does not automagically clean SUBDIRS. Therefore "archclean" should clean
# up all, "archdep" does nothing on added SUBDIRS.
#
cpu-y := -mb
cpu-$(CONFIG_LITTLE_ENDIAN) := -ml
cpu-$(CONFIG_CPU_SH5) += -m5-32media-nofpu
ifdef CONFIG_LITTLE_ENDIAN
LDFLAGS += -EL -mshlelf32_linux
else
LDFLAGS += -EB -mshelf32_linux
endif
# No requirements for endianess support from AFLAGS, 'as' always run through gcc
AFLAGS += -m5 -isa=sh64 -traditional
CFLAGS += $(cpu-y)
ENTRY_POINT = --defsym phys_stext=_stext-0x$(CONFIG_CACHED_MEMORY_OFFSET) \
-e phys_stext
OBJCOPY = $(CROSS_COMPILE)objcopy -O binary -R .note -R .comment \
-R .stab -R .stabstr -S
LD = $(CROSS_COMPILE)ld $(LDFLAGS)
LINKFLAGS += -T arch/$(ARCH)/vmlinux.lds $(ENTRY_POINT)
ifdef LOADADDR
LINKFLAGS += -Ttext $(word 1,$(LOADADDR))
endif
machine-$(CONFIG_SH_CAYMAN) := cayman
machine-$(CONFIG_SH_SIMULATOR) := sim
machine-$(CONFIG_SH_HARP) := harp
HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
MAKEROOTFS =
SUBDIRS += $(addprefix arch/$(ARCH)/, kernel mm lib mach-$(machine-y))
CORE_FILES := arch/$(ARCH)/kernel/kernel.o arch/$(ARCH)/mm/mm.o \
arch/$(ARCH)/mach-$(machine-y)/$(machine-y).o \
$(CORE_FILES)
LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
LIBS := $(TOPDIR)/arch/$(ARCH)/lib/lib.a $(LIBS) $(LIBGCC)
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
#
# override the assembly rules
#
#.S.o:
# $(CC) $(CFLAGS) $(AFLAGS) -c $< -o $*.o
vmlinux: arch/$(ARCH)/vmlinux.lds
arch/$(ARCH)/vmlinux.lds: arch/$(ARCH)/vmlinux.lds.S FORCE
$(CPP) $(TOOLCHAIN) $(AFLAGS) -C -P -I$(HPATH) -U$(ARCH) arch/$(ARCH)/vmlinux.lds.S >arch/$(ARCH)/vmlinux.lds
FORCE: ;
zImage: vmlinux
@$(MAKEBOOT) zImage
compressed: zImage
zdisk: vmlinux
@$(MAKEBOOT) zdisk
archclean:
# @$(MAKEBOOT) clean
archmrproper:
rm -f arch/$(ARCH)/vmlinux.lds
archdep:
# @$(MAKEBOOT) dep