# Individual arch/{arch}/Makefiles should use -EL/-EB to set intended
# endianness and -m32/-m64 to set word size based on Kconfigs instead of
# relying on the target triple.
CLANG_TARGET_FLAGS_arm		:= arm-linux-gnueabi
CLANG_TARGET_FLAGS_arm64	:= aarch64-linux-gnu
CLANG_TARGET_FLAGS_hexagon	:= hexagon-linux-musl
CLANG_TARGET_FLAGS_m68k		:= m68k-linux-gnu
CLANG_TARGET_FLAGS_mips		:= mipsel-linux-gnu
CLANG_TARGET_FLAGS_powerpc	:= powerpc64le-linux-gnu
CLANG_TARGET_FLAGS_riscv	:= riscv64-linux-gnu
CLANG_TARGET_FLAGS_s390		:= s390x-linux-gnu
CLANG_TARGET_FLAGS_x86		:= x86_64-linux-gnu
CLANG_TARGET_FLAGS_um		:= $(CLANG_TARGET_FLAGS_$(SUBARCH))
CLANG_TARGET_FLAGS		:= $(CLANG_TARGET_FLAGS_$(SRCARCH))

ifeq ($(CLANG_TARGET_FLAGS),)
$(error add '--target=' option to scripts/Makefile.clang)
else
CLANG_FLAGS	+= --target=$(CLANG_TARGET_FLAGS)
endif

ifeq ($(LLVM_IAS),0)
CLANG_FLAGS	+= -fno-integrated-as
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
CLANG_FLAGS	+= --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
else
CLANG_FLAGS	+= -fintegrated-as
endif
# By default, clang only warns when it encounters an unknown warning flag or
# certain optimization flags it knows it has not implemented.
# Make it behave more like gcc by erroring when these flags are encountered
# so they can be implemented or wrapped in cc-option.
CLANG_FLAGS	+= -Werror=unknown-warning-option
CLANG_FLAGS	+= -Werror=ignored-optimization-argument
CLANG_FLAGS	+= -Werror=option-ignored
CLANG_FLAGS	+= -Werror=unused-command-line-argument
KBUILD_CFLAGS	+= $(CLANG_FLAGS)
KBUILD_AFLAGS	+= $(CLANG_FLAGS)
export CLANG_FLAGS
