diff mbox

kconfig: allow ARCH set to 'the machine hardware name', like 's390x' but not 's390'

Message ID 1345189199-22145-1-git-send-email-adam8157@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Adam Lee Aug. 17, 2012, 7:39 a.m. UTC
This patch add support for setting ARCH to 'the machine hardware
name'(`uname -m).

UTS_MACHINE is not always the same as SRCARCH, for example, s390x, we
should set UTS_MACHINE=s390x, and SRCARCH=s390. This patch makes that
working when "make ARCH=s390x".

And it avoid some error during invocation of make when ARCH set to
s390x, ppc64 or some machine hardware name else. Lots of scripts will
have no need to hack(like what we did in Red Hat), just use `uname -m`.

Signed-off-by: Adam Lee <adam8157@gmail.com>
 Makefile | 37 ++++++++-----------------------------
 1 file changed, 8 insertions(+), 29 deletions(-)


Sam Ravnborg Aug. 17, 2012, 4:54 p.m. UTC | #1
On Fri, Aug 17, 2012 at 03:39:59PM +0800, Adam Lee wrote:
> This patch add support for setting ARCH to 'the machine hardware
> name'(`uname -m).

Snip from s390 Makefile:

ifeq ($(CONFIG_64BIT),y)
        $(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
        $(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso32 $@

You need more changes to support this.
Check all arch Makefiles for similar uses.

To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox


diff --git a/Makefile b/Makefile
index 9cc77ac..4f06c64 100644
--- a/Makefile
+++ b/Makefile
@@ -197,36 +197,15 @@  CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
 # Architecture as present in compile.h
-# Additional ARCH settings for x86
-ifeq ($(ARCH),i386)
-        SRCARCH := x86
-ifeq ($(ARCH),x86_64)
-        SRCARCH := x86
-# Additional ARCH settings for sparc
-ifeq ($(ARCH),sparc32)
-       SRCARCH := sparc
-ifeq ($(ARCH),sparc64)
-       SRCARCH := sparc
-# Additional ARCH settings for sh
-ifeq ($(ARCH),sh64)
-       SRCARCH := sh
-# Additional ARCH settings for tile
-ifeq ($(ARCH),tilepro)
-       SRCARCH := tile
-ifeq ($(ARCH),tilegx)
-       SRCARCH := tile
+# Where arch specific source located
+SRCARCH	:= $(shell echo $(ARCH) | \
+	sed -e s/i.86/x86/ -e s/x86_64/x86/ \
+	-e s/arm.*/arm/ -e s/sa110/arm/ \
+	-e s/m68k.*/m68k/ -e s/mips.*/mips/ \
+	-e s/parisc64/parisc/ -e s/ppc.*/powerpc/ \
+	-e s/s390x/s390/ -e s/sh.*/sh/ -e s/sun4u/sparc/ \
+	-e s/sparc.*/sparc/ -e s/tile.*/tile/ )
 # Where to locate arch specific headers
 hdr-arch  := $(SRCARCH)