@@ -197,36 +197,15 @@ CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
-SRCARCH := $(ARCH)
-# Additional ARCH settings for x86
-ifeq ($(ARCH),i386)
- SRCARCH := x86
-endif
-ifeq ($(ARCH),x86_64)
- SRCARCH := x86
-endif
-
-# Additional ARCH settings for sparc
-ifeq ($(ARCH),sparc32)
- SRCARCH := sparc
-endif
-ifeq ($(ARCH),sparc64)
- SRCARCH := sparc
-endif
-
-# Additional ARCH settings for sh
-ifeq ($(ARCH),sh64)
- SRCARCH := sh
-endif
-
-# Additional ARCH settings for tile
-ifeq ($(ARCH),tilepro)
- SRCARCH := tile
-endif
-ifeq ($(ARCH),tilegx)
- SRCARCH := tile
-endif
+# 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)
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(-)