# 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 # # 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) 1994 by Linus Torvalds # Changes for PPC by Gary Thomas # Rewritten by Cort Dougan and Paul Mackerras # Adjusted for PPC64 by Tom Gall # KERNELLOAD =0xc000000000000000 ifeq ($(shell uname -m),ppc64) CHECKS = checks endif HAS_BIARCH := $(shell if $(CC) -m64 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi;) ifeq ($(HAS_BIARCH),y) AS := $(AS) -64 LD := $(LD) -m elf64ppc CC := $(CC) -m64 endif LINKFLAGS = -T arch/ppc64/vmlinux.lds -Bstatic \ -e $(KERNELLOAD) -Ttext $(KERNELLOAD) CFLAGS := $(CFLAGS) -fsigned-char -msoft-float -pipe \ -Wno-uninitialized -mminimal-toc -fno-builtin \ -mtraceback=full CPP = $(CC) -E $(CFLAGS) HAVE_ZERO_BSS := $(shell if $(CC) -fno-zero-initialized-in-bss -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) ifeq ($(HAVE_ZERO_BSS),y) CFLAGS += -fno-zero-initialized-in-bss endif HEAD := arch/ppc64/kernel/head.o ARCH_SUBDIRS = arch/ppc64/kernel arch/ppc64/mm arch/ppc64/lib SUBDIRS := $(SUBDIRS) $(ARCH_SUBDIRS) ARCHIVES := arch/ppc64/kernel/kernel.o arch/ppc64/mm/mm.o arch/ppc64/lib/lib.o $(ARCHIVES) CORE_FILES := arch/ppc64/kernel/kernel.o arch/ppc64/mm/mm.o arch/ppc64/lib/lib.o $(CORE_FILES) ifdef CONFIG_XMON SUBDIRS += arch/ppc64/xmon CORE_FILES += arch/ppc64/xmon/x.o endif MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot checks: @$(MAKE) -C arch/$(ARCH)/kernel checks ifdef CONFIG_PPC_PSERIES BOOT_TARGETS = zImage znetboot.initrd zImage.initrd endif ifdef CONFIG_PPC_ISERIES BOOT_TARGETS = vmlinux.sminitrd vmlinux.initrd vmlinux.sm endif $(BOOT_TARGETS): vmlinux @$(MAKEBOOT) $@ znetboot: vmlinux ifdef CONFIG_SMP cp -f vmlinux /tftpboot/vmlinux.smp else cp -f vmlinux /tftpboot/vmlinux endif @$(MAKEBOOT) $@ %_config: arch/ppc64/configs/%_defconfig rm -f .config arch/ppc64/defconfig cp -f arch/ppc64/configs/$(@:config=defconfig) arch/ppc64/defconfig archclean: rm -f arch/ppc64/kernel/{ppc_defs.h,checks,mk_defs.s,mk_defs_out.c,mk_defs_tpl} @$(MAKEBOOT) clean archmrproper: archdep: $(MAKEBOOT) fastdep