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@xxxxxxxxx> --- Makefile | 37 ++++++++----------------------------- 1 file changed, 8 insertions(+), 29 deletions(-) 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 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) -- 1.7.11.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html