APM support depends on CONFIG_PM_SLEEP
[safe/jmp/linux-2.6] / arch / powerpc / Makefile
index 6ec84d3..6c1e36c 100644 (file)
@@ -20,6 +20,7 @@ CROSS32_COMPILE ?=
 CROSS32CC              := $(CROSS32_COMPILE)gcc
 CROSS32AS              := $(CROSS32_COMPILE)as
 CROSS32LD              := $(CROSS32_COMPILE)ld
+CROSS32AR              := $(CROSS32_COMPILE)ar
 CROSS32OBJCOPY         := $(CROSS32_COMPILE)objcopy
 
 ifeq ($(HAS_BIARCH),y)
@@ -28,10 +29,11 @@ CROSS32CC   := $(CC) -m32
 CROSS32AS      := $(AS) -a32
 CROSS32LD      := $(LD) -m elf32ppc
 CROSS32OBJCOPY := $(OBJCOPY)
+CROSS32AR      := GNUTARGET=elf32-powerpc $(AR)
 endif
 endif
 
-export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY
+export CROSS32CC CROSS32AS CROSS32LD CROSS32AR CROSS32OBJCOPY
 
 KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
 
@@ -56,6 +58,7 @@ ifeq ($(HAS_BIARCH),y)
 override AS    += -a$(SZ)
 override LD    += -m elf$(SZ)ppc
 override CC    += -m$(SZ)
+override AR    := GNUTARGET=elf$(SZ)-powerpc $(AR)
 endif
 
 LDFLAGS_vmlinux        := -Bstatic
@@ -100,11 +103,14 @@ CFLAGS += $(call cc-option,-mno-altivec)
 # kernel considerably.
 CFLAGS += $(call cc-option,-funit-at-a-time)
 
-ifndef CONFIG_FSL_BOOKE
-CFLAGS         += -mstring
+# Never use string load/store instructions as they are
+# often slow when they are implemented at all
+CFLAGS         += -mno-string
+
+ifeq ($(CONFIG_6xx),y)
+CFLAGS         += -mcpu=powerpc
 endif
 
-cpu-as-$(CONFIG_PPC64BRIDGE)   += -Wa,-mppc64bridge
 cpu-as-$(CONFIG_4xx)           += -Wa,-m405
 cpu-as-$(CONFIG_6xx)           += -Wa,-maltivec
 cpu-as-$(CONFIG_POWER4)                += -Wa,-maltivec
@@ -136,14 +142,13 @@ drivers-$(CONFIG_OPROFILE)        += arch/powerpc/oprofile/
 
 # Default to zImage, override when needed
 defaultimage-y                 := zImage
-defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux
 defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage
 KBUILD_IMAGE := $(defaultimage-y)
 all: $(KBUILD_IMAGE)
 
 CPPFLAGS_vmlinux.lds   := -Upowerpc
 
-BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm uImage vmlinux.bin
+BOOT_TARGETS = zImage zImage.initrd uImage
 
 PHONY += $(BOOT_TARGETS)
 
@@ -161,6 +166,9 @@ define archhelp
   @echo '  *_defconfig     - Select default config from arch/$(ARCH)/configs'
 endef
 
+install:
+       $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
+
 archclean:
        $(Q)$(MAKE) $(clean)=$(boot)
 
@@ -193,6 +201,14 @@ checkbin:
                        false; \
                fi ; \
        fi
+       @if test "$(call cc-fullversion)" = "040200" \
+           && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
+               echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
+               echo 'kernel with modules enabled.' ; \
+               echo -n '*** Please use a different GCC version or ' ; \
+               echo 'disable kernel modules' ; \
+               false ; \
+       fi
        @if ! /bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; then \
                echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build ' ; \
                echo 'correctly with old versions of binutils.' ; \