| # SPDX-License-Identifier: GPL-2.0 |
| HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \ |
| -e s/sun4u/sparc/ -e s/sparc64/sparc/ \ |
| -e /arm64/!s/arm.*/arm/ -e s/sa110/arm/ \ |
| -e s/s390x/s390/ -e s/parisc64/parisc/ \ |
| -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ |
| -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \ |
| -e s/riscv.*/riscv/ -e s/loongarch.*/loongarch/) |
| |
| ifndef ARCH |
| ARCH := $(HOSTARCH) |
| endif |
| |
| 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 loongarch |
| ifeq ($(ARCH),loongarch32) |
| SRCARCH := loongarch |
| endif |
| |
| ifeq ($(ARCH),loongarch64) |
| SRCARCH := loongarch |
| endif |
| |
| LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1) |
| ifeq ($(LP64), 1) |
| IS_64_BIT := 1 |
| else |
| IS_64_BIT := 0 |
| endif |