# SPDX-License-Identifier: GPL-2.0HOSTARCH := $(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/)ifeq ($(strip $(ARCH)),)override ARCH := $(HOSTARCH)endifSRCARCH := $(ARCH)# Additional ARCH settings for x86ifeq ($(ARCH),i386) SRCARCH := x86endififeq ($(ARCH),x86_64) SRCARCH := x86endif# Additional ARCH settings for sparcifeq ($(ARCH),sparc32) SRCARCH := sparcendififeq ($(ARCH),sparc64) SRCARCH := sparcendif# Additional ARCH settings for loongarchifeq ($(ARCH),loongarch32) SRCARCH := loongarchendififeq ($(ARCH),loongarch64) SRCARCH := loongarchendif# Probe for __LP64__ only when the compiler is installed: this runs at# parse time for every target, including ones that never compile, e.g.# install-build-deps, and would otherwise spew "gcc: not found" when the# compiler is not yet installed. Only the first word of CC is consulted,# as CC may carry arguments, e.g. 'ccache gcc'. When the guard fails it# prints nothing, leaving LP64 unset, as if the probe had failed.LP64 := $(shell if command -v $(firstword ${CC}) >/dev/null 2>&1; then echo __LP64__ | ${CC} ${CFLAGS} -E -x c -; fi | tail -n 1)ifeq ($(LP64), 1) IS_64_BIT := 1else IS_64_BIT := 0endif
# 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/)
ifeq ($(strip $(ARCH)),)
override 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 loongarch
ifeq ($(ARCH),loongarch32)
SRCARCH := loongarch
endif
ifeq ($(ARCH),loongarch64)
SRCARCH := loongarch
endif
# Probe for __LP64__ only when the compiler is installed: this runs at
# parse time for every target, including ones that never compile, e.g.
# install-build-deps, and would otherwise spew "gcc: not found" when the
# compiler is not yet installed. Only the first word of CC is consulted,
# as CC may carry arguments, e.g. 'ccache gcc'. When the guard fails it
# prints nothing, leaving LP64 unset, as if the probe had failed.
LP64 := $(shell if command -v $(firstword ${CC}) >/dev/null 2>&1; then echo __LP64__ | ${CC} ${CFLAGS} -E -x c -; fi | tail -n 1)
ifeq ($(LP64), 1)
IS_64_BIT := 1
else
IS_64_BIT := 0
endif