1 # 1 # >> 2 # This file is included by the global makefile so that you can add your own >> 3 # architecture-specific flags and dependencies. Remember to do have actions >> 4 # for "archclean" and "archdep" for cleaning up and making dependencies for >> 5 # this architecture >> 6 # 2 # This file is subject to the terms and condit 7 # This file is subject to the terms and conditions of the GNU General Public 3 # License. See the file "COPYING" in the main 8 # License. See the file "COPYING" in the main directory of this archive 4 # for more details. 9 # for more details. 5 # 10 # 6 # Copyright (C) 2013 Altera Corporation !! 11 # Copyright (C) 1994 by Linus Torvalds 7 # Copyright (C) 1994, 95, 96, 2003 by Wind Riv !! 12 # Changes for PPC by Gary Thomas 8 # Written by Fredrik Markstrom !! 13 # Rewritten by Cort Dougan and Paul Mackerras 9 # 14 # 10 # This file is included by the global makefile << 11 # architecture-specific flags and dependencies << 12 # << 13 # Nios2 port by Wind River Systems Inc trough: << 14 # fredrik.markstrom@gmail.com and ivarholmqv << 15 << 16 KBUILD_DEFCONFIG := 3c120_defconfig << 17 15 18 UTS_SYSNAME = Linux !! 16 # Be sure to change PAGE_OFFSET in include/asm-ppc/page.h to match >> 17 KERNELLOAD =$(CONFIG_KERNEL_START) 19 18 20 export MMU !! 19 LINKFLAGS = -T arch/ppc/vmlinux.lds -Ttext $(KERNELLOAD) -Bstatic >> 20 CPPFLAGS := $(CPPFLAGS) -I$(TOPDIR)/arch/$(ARCH) >> 21 AFLAGS := $(AFLAGS) -I$(TOPDIR)/arch/$(ARCH) >> 22 CFLAGS := $(CFLAGS) -I$(TOPDIR)/arch/$(ARCH) -fsigned-char \ >> 23 -msoft-float -pipe -ffixed-r2 -Wno-uninitialized \ >> 24 -mmultiple -mstring >> 25 HOSTCFLAGS += -I$(TOPDIR)/arch/$(ARCH) >> 26 CPP = $(CC) -E $(CFLAGS) >> 27 >> 28 ifdef CONFIG_4xx >> 29 CFLAGS := $(CFLAGS) -Wa,-m405 >> 30 endif >> 31 >> 32 ifdef CONFIG_8xx >> 33 CFLAGS := $(CFLAGS) -mcpu=860 >> 34 endif >> 35 >> 36 ifdef CONFIG_PPC64BRIDGE >> 37 CFLAGS := $(CFLAGS) -Wa,-mppc64bridge >> 38 endif >> 39 >> 40 ifdef CONFIG_MORE_COMPILE_OPTIONS >> 41 # Use sed to remove the quotes. >> 42 CFLAGS += $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') >> 43 endif >> 44 >> 45 HEAD-y := arch/ppc/kernel/head.o >> 46 HEAD-$(CONFIG_40x) := arch/ppc/kernel/head_4xx.o >> 47 HEAD-$(CONFIG_44x) := arch/ppc/kernel/head_44x.o >> 48 HEAD-$(CONFIG_8xx) := arch/ppc/kernel/head_8xx.o >> 49 HEAD-$(CONFIG_6xx) += arch/ppc/kernel/idle_6xx.o >> 50 >> 51 HEAD := $(HEAD-y) >> 52 >> 53 ARCH_SUBDIRS = arch/ppc/kernel arch/ppc/platforms arch/ppc/mm arch/ppc/lib >> 54 SUBDIRS := $(SUBDIRS) $(ARCH_SUBDIRS) >> 55 CORE_FILES := arch/ppc/kernel/kernel.o arch/ppc/platforms/platform.o \ >> 56 arch/ppc/mm/mm.o arch/ppc/lib/lib.o $(CORE_FILES) >> 57 >> 58 ifdef CONFIG_MATH_EMULATION >> 59 SUBDIRS += arch/ppc/math-emu >> 60 CORE_FILES += arch/ppc/math-emu/math-emu.o >> 61 endif >> 62 >> 63 ifdef CONFIG_XMON >> 64 SUBDIRS += arch/ppc/xmon >> 65 CORE_FILES += arch/ppc/xmon/x.o >> 66 endif >> 67 >> 68 MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot >> 69 >> 70 ifdef CONFIG_8xx >> 71 SUBDIRS += arch/ppc/8xx_io >> 72 DRIVERS += arch/ppc/8xx_io/8xx_io.o >> 73 endif >> 74 >> 75 ifdef CONFIG_CPM2 >> 76 SUBDIRS += arch/ppc/cpm2_io >> 77 DRIVERS += arch/ppc/cpm2_io/cpm2_io.o >> 78 endif >> 79 >> 80 ifdef CONFIG_APUS >> 81 SUBDIRS += arch/ppc/amiga >> 82 CORE_FILES += arch/ppc/amiga/amiga.o >> 83 endif 21 84 22 LIBGCC := $(shell $(CC) $(KBUILD_CFLAG !! 85 checks: >> 86 @$(MAKE) -C arch/$(ARCH)/kernel checks 23 87 24 KBUILD_AFLAGS += -march=r$(CONFIG_NIOS2_ARCH_R !! 88 BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd uImage 25 89 26 KBUILD_CFLAGS += -pipe -D__linux__ -D__ELF__ !! 90 # All the instructions talk about "make bzImage". 27 KBUILD_CFLAGS += -march=r$(CONFIG_NIOS2_ARCH_R !! 91 bzImage: zImage 28 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MUL_SU << 29 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MULX_S << 30 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_DIV_SU << 31 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_BMX_SUPPO << 32 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_CDX_SUPPO << 33 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_FPU_SUPPO << 34 92 35 KBUILD_CFLAGS += -fno-optimize-sibling-calls !! 93 $(BOOT_TARGETS): vmlinux 36 KBUILD_CFLAGS += -DUTS_SYSNAME=\"$(UTS_SYSNAME !! 94 @$(MAKEBOOT) $@ 37 KBUILD_CFLAGS += -fno-builtin << 38 KBUILD_CFLAGS += -G 0 << 39 << 40 libs-y += arch/nios2/lib/ $(LIBGCC) << 41 << 42 INSTALL_PATH ?= /tftpboot << 43 nios2-boot := arch/$(ARCH)/boot << 44 BOOT_TARGETS = vmImage zImage << 45 PHONY += $(BOOT_TARGETS) install << 46 KBUILD_IMAGE := $(nios2-boot)/vmImage << 47 95 48 all: vmImage !! 96 %_config: arch/ppc/configs/%_defconfig >> 97 rm -f .config arch/ppc/defconfig >> 98 cp -f arch/ppc/configs/$(@:config=defconfig) arch/ppc/defconfig 49 99 50 $(BOOT_TARGETS): vmlinux !! 100 archclean: 51 $(Q)$(MAKE) $(build)=$(nios2-boot) $(n !! 101 rm -f arch/ppc/kernel/{mk_defs,ppc_defs.h,find_name,checks} >> 102 @$(MAKEBOOT) clean 52 103 53 install: !! 104 archmrproper: 54 $(call cmd,install) << 55 105 56 define archhelp !! 106 archdep: scripts/mkdep 57 echo '* vmImage - Kernel-only image !! 107 $(MAKEBOOT) fastdep 58 echo ' install - Install kernel us << 59 echo ' (your) ~/bin/$(I << 60 echo ' (distribution) / << 61 echo ' install to $$(IN << 62 endef <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.