>> 1 # This file is included by the global makefile so that you can add your own >> 2 # architecture-specific flags and dependencies. 1 # 3 # 2 # This file is subject to the terms and condit 4 # This file is subject to the terms and conditions of the GNU General Public 3 # License. See the file "COPYING" in the main 5 # License. See the file "COPYING" in the main directory of this archive 4 # for more details. 6 # for more details. 5 # 7 # 6 # Copyright (C) 2013 Altera Corporation !! 8 # Copyright (C) 1994 by Linus Torvalds 7 # Copyright (C) 1994, 95, 96, 2003 by Wind Riv !! 9 # Changes for PPC by Gary Thomas 8 # Written by Fredrik Markstrom !! 10 # Rewritten by Cort Dougan and Paul Mackerras 9 # 11 # 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 12 16 KBUILD_DEFCONFIG := 3c120_defconfig !! 13 # This must match PAGE_OFFSET in include/asm-ppc/page.h. >> 14 KERNELLOAD := $(CONFIG_KERNEL_START) >> 15 >> 16 LDFLAGS_vmlinux := -Ttext $(KERNELLOAD) -Bstatic >> 17 CPPFLAGS += -Iarch/$(ARCH) >> 18 AFLAGS += -Iarch/$(ARCH) >> 19 cflags-y += -Iarch/$(ARCH) -msoft-float -pipe \ >> 20 -ffixed-r2 -Wno-uninitialized -mmultiple -mstring >> 21 CPP = $(CC) -E $(CFLAGS) >> 22 >> 23 cflags-$(CONFIG_4xx) += -Wa,-m405 >> 24 cflags-$(CONFIG_PPC64BRIDGE) += -Wa,-mppc64bridge 17 25 18 UTS_SYSNAME = Linux !! 26 CFLAGS += $(cflags-y) 19 27 20 export MMU << 21 28 22 LIBGCC := $(shell $(CC) $(KBUILD_CFLAG !! 29 head-y := arch/ppc/kernel/head.o >> 30 head-$(CONFIG_8xx) := arch/ppc/kernel/head_8xx.o >> 31 head-$(CONFIG_4xx) := arch/ppc/kernel/head_4xx.o >> 32 head-$(CONFIG_44x) := arch/ppc/kernel/head_44x.o 23 33 24 KBUILD_AFLAGS += -march=r$(CONFIG_NIOS2_ARCH_R !! 34 head-$(CONFIG_6xx) += arch/ppc/kernel/idle_6xx.o >> 35 head-$(CONFIG_POWER4) += arch/ppc/kernel/idle_power4.o 25 36 26 KBUILD_CFLAGS += -pipe -D__linux__ -D__ELF__ !! 37 core-y += arch/ppc/kernel/ arch/ppc/platforms/ \ 27 KBUILD_CFLAGS += -march=r$(CONFIG_NIOS2_ARCH_R !! 38 arch/ppc/mm/ arch/ppc/lib/ arch/ppc/syslib/ 28 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MUL_SU !! 39 core-$(CONFIG_4xx) += arch/ppc/platforms/4xx/ 29 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MULX_S !! 40 core-$(CONFIG_MATH_EMULATION) += arch/ppc/math-emu/ 30 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_DIV_SU !! 41 core-$(CONFIG_XMON) += arch/ppc/xmon/ 31 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_BMX_SUPPO !! 42 core-$(CONFIG_APUS) += arch/ppc/amiga/ 32 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_CDX_SUPPO !! 43 drivers-$(CONFIG_8xx) += arch/ppc/8xx_io/ 33 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_FPU_SUPPO !! 44 drivers-$(CONFIG_4xx) += arch/ppc/4xx_io/ >> 45 drivers-$(CONFIG_8260) += arch/ppc/8260_io/ >> 46 drivers-$(CONFIG_OCP) += arch/ppc/ocp/ 34 47 35 KBUILD_CFLAGS += -fno-optimize-sibling-calls !! 48 BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm 36 KBUILD_CFLAGS += -DUTS_SYSNAME=\"$(UTS_SYSNAME << 37 KBUILD_CFLAGS += -fno-builtin << 38 KBUILD_CFLAGS += -G 0 << 39 49 40 libs-y += arch/nios2/lib/ $(LIBGCC) !! 50 .PHONY: $(BOOT_TARGETS) 41 51 42 INSTALL_PATH ?= /tftpboot !! 52 all: zImage 43 nios2-boot := arch/$(ARCH)/boot << 44 BOOT_TARGETS = vmImage zImage << 45 PHONY += $(BOOT_TARGETS) install << 46 KBUILD_IMAGE := $(nios2-boot)/vmImage << 47 53 48 all: vmImage !! 54 AFLAGS_vmlinux.lds.o := -Upowerpc >> 55 >> 56 # All the instructions talk about "make bzImage". >> 57 bzImage: zImage >> 58 >> 59 boot := arch/$(ARCH)/boot 49 60 50 $(BOOT_TARGETS): vmlinux 61 $(BOOT_TARGETS): vmlinux 51 $(Q)$(MAKE) $(build)=$(nios2-boot) $(n !! 62 $(Q)$(MAKE) $(build)=$(boot) $@ 52 63 53 install: !! 64 uImage: vmlinux 54 $(call cmd,install) !! 65 $(Q)$(MAKE) $(build)=$(boot)/images $(boot)/images/$@ 55 66 56 define archhelp 67 define archhelp 57 echo '* vmImage - Kernel-only image !! 68 @echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/images/zImage.*)' 58 echo ' install - Install kernel us !! 69 @echo ' uImage - Create a bootable image for U-Boot / PPCBoot' 59 echo ' (your) ~/bin/$(I !! 70 @echo ' install - Install kernel using' 60 echo ' (distribution) / !! 71 @echo ' (your) ~/bin/installkernel or' 61 echo ' install to $$(IN !! 72 @echo ' (distribution) /sbin/installkernel or' >> 73 @echo ' install to $$(INSTALL_PATH) and run lilo' >> 74 @echo ' *_defconfig - Select default config from arch/$(ARCH)/ppc/configs' 62 endef 75 endef >> 76 >> 77 archclean: >> 78 $(Q)$(MAKE) $(clean)=arch/ppc/boot >> 79 >> 80 prepare: include/asm-$(ARCH)/offsets.h checkbin >> 81 >> 82 arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \ >> 83 include/config/MARKER >> 84 >> 85 include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s >> 86 $(call filechk,gen-asm-offsets) >> 87 >> 88 ifdef CONFIG_6xx >> 89 # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later >> 90 NEW_AS := $(shell echo dssall | $(AS) -o /dev/null >/dev/null 2>&1 ; echo $$?) >> 91 GOODVER := 2.12.1 >> 92 else >> 93 NEW_AS := 0 >> 94 endif >> 95 >> 96 ifneq ($(NEW_AS),0) >> 97 checkbin: >> 98 @echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build' >> 99 @echo 'correctly with old versions of binutils.' >> 100 @echo '*** Please upgrade your binutils to ${GOODVER} or newer' >> 101 @false >> 102 else >> 103 checkbin: >> 104 @true >> 105 endif >> 106 >> 107 CLEAN_FILES += include/asm-$(ARCH)/offsets.h \ >> 108 arch/$(ARCH)/kernel/asm-offsets.s
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.