1# 2# This file is subject to the terms and conditions of the GNU General Public 3# License. See the file "COPYING" in the main directory of this archive 4# for more details. 5# 6# Copyright (C) 2000, 2001 Paolo Alberelli 7# Copyright (C) 2003 Paul Mundt 8# 9# This file is included by the global makefile so that you can add your own 10# architecture-specific flags and dependencies. Remember to do have actions 11# for "archclean" and "archdep" for cleaning up and making dependencies for 12# this architecture 13# 14# Note that top level Makefile automagically builds dependencies for SUBDIRS 15# but does not automagically clean SUBDIRS. Therefore "archclean" should clean 16# up all, "archdep" does nothing on added SUBDIRS. 17# 18 19cpu-y := -mb 20cpu-$(CONFIG_LITTLE_ENDIAN) := -ml 21 22cpu-$(CONFIG_CPU_SH5) += -m5-32media-nofpu 23 24ifdef CONFIG_LITTLE_ENDIAN 25LDFLAGS += -EL -mshlelf32_linux 26else 27LDFLAGS += -EB -mshelf32_linux 28endif 29 30# No requirements for endianess support from AFLAGS, 'as' always run through gcc 31AFLAGS += -m5 -isa=sh64 -traditional 32CFLAGS += $(cpu-y) 33 34ENTRY_POINT = --defsym phys_stext=_stext-0x$(CONFIG_CACHED_MEMORY_OFFSET) \ 35 -e phys_stext 36OBJCOPY = $(CROSS_COMPILE)objcopy -O binary -R .note -R .comment \ 37 -R .stab -R .stabstr -S 38LD = $(CROSS_COMPILE)ld $(LDFLAGS) 39 40LINKFLAGS += -T arch/$(ARCH)/vmlinux.lds $(ENTRY_POINT) 41 42ifdef LOADADDR 43LINKFLAGS += -Ttext $(word 1,$(LOADADDR)) 44endif 45 46machine-$(CONFIG_SH_CAYMAN) := cayman 47machine-$(CONFIG_SH_SIMULATOR) := sim 48machine-$(CONFIG_SH_HARP) := harp 49 50HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o 51MAKEROOTFS = 52 53SUBDIRS += $(addprefix arch/$(ARCH)/, kernel mm lib mach-$(machine-y)) 54CORE_FILES := arch/$(ARCH)/kernel/kernel.o arch/$(ARCH)/mm/mm.o \ 55 arch/$(ARCH)/mach-$(machine-y)/$(machine-y).o \ 56 $(CORE_FILES) 57 58LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) 59LIBS := $(TOPDIR)/arch/$(ARCH)/lib/lib.a $(LIBS) $(LIBGCC) 60 61MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot 62 63# 64# override the assembly rules 65# 66#.S.o: 67# $(CC) $(CFLAGS) $(AFLAGS) -c $< -o $*.o 68 69vmlinux: arch/$(ARCH)/vmlinux.lds 70 71arch/$(ARCH)/vmlinux.lds: arch/$(ARCH)/vmlinux.lds.S FORCE 72 $(CPP) $(TOOLCHAIN) $(AFLAGS) -C -P -I$(HPATH) -U$(ARCH) arch/$(ARCH)/vmlinux.lds.S >arch/$(ARCH)/vmlinux.lds 73 74FORCE: ; 75 76zImage: vmlinux 77 @$(MAKEBOOT) zImage 78 79compressed: zImage 80 81zdisk: vmlinux 82 @$(MAKEBOOT) zdisk 83 84archclean: 85# @$(MAKEBOOT) clean 86 87archmrproper: 88 rm -f arch/$(ARCH)/vmlinux.lds 89 90archdep: 91# @$(MAKEBOOT) dep 92