linux-mips
[Top] [All Lists]

Re: MIPS Makefile not picking up CROSS_COMPILE from environment setting

To: Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: MIPS Makefile not picking up CROSS_COMPILE from environment setting
From: Ralf Baechle <ralf@linux-mips.org>
Date: Mon, 22 Oct 2007 14:21:31 +0100
Cc: Wolfgang Denk <wd@denx.de>, linux-mips@linux-mips.org
In-reply-to: <Pine.LNX.4.64.0710211036540.6155@anakin>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20071018184636.48637242E9@gemini.denx.de> <Pine.LNX.4.64.0710190915130.23164@anakin> <Pine.LNX.4.64.0710211036540.6155@anakin>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.14 (2007-02-12)
On Sun, Oct 21, 2007 at 10:37:29AM +0200, Geert Uytterhoeven wrote:

> > BTW, currently there's a discussion about such things on lkml under the
> > subject `Make m68k cross compile like every other architecture.'.
> > 
> > As you can probably guess, MIPS is unlike every other architecture, too ;-)
> 
> cc-cross-prefix got into mainline:
> 910b40468a9ce3f2f5d48c5d260329c27d45adb5

So then here is a followup patch also unlike any other ;-)

As a convenience for MIPS hacking I keep ARCH hardweired to mips though.

  Ralf

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
---

 Makefile           |    7 +++++--
 arch/mips/Makefile |    6 ++++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 94b8705..6ad9eda 100644
--- a/Makefile
+++ b/Makefile
@@ -165,7 +165,10 @@ export srctree objtree VPATH TOPDIR
 # then ARCH is assigned, getting whatever value it gets normally, and 
 # SUBARCH is subsequently ignored.
 
-SUBARCH := mips
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
+                                 -e s/arm.*/arm/ -e s/sa110/arm/ \
+                                 -e s/s390x/s390/ -e s/parisc64/parisc/ \
+                                 -e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
 
 # Cross compiling and selecting different set of gcc/bin-utils
 # ---------------------------------------------------------------------------
@@ -186,7 +189,7 @@ SUBARCH := mips
 # Default value for CROSS_COMPILE is not to prefix executables
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
 
-ARCH           ?= $(SUBARCH)
+ARCH           ?= mips
 CROSS_COMPILE  ?=
 
 # Architecture as present in compile.h
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 14164c2..00a3033 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -42,8 +42,10 @@ tool-prefix          = $(64bit-tool-prefix)
 UTS_MACHINE            := mips64
 endif
 
-ifdef CONFIG_CROSSCOMPILE
-CROSS_COMPILE          := $(tool-prefix)
+ifneq ($(SUBARCH),$(ARCH))
+  ifeq ($(CROSS_COMPILE),)
+    CROSS_COMPILE := $(call cc-cross-prefix, $(tool-prefix))
+  endif
 endif
 
 ifdef CONFIG_32BIT

<Prev in Thread] Current Thread [Next in Thread>