linux/arch/hexagon/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2#  Makefile for the Hexagon arch
   3
   4KBUILD_DEFCONFIG = comet_defconfig
   5
   6# Do not use GP-relative jumps
   7KBUILD_CFLAGS += -G0
   8LDFLAGS_vmlinux += -G0
   9
  10# Do not use single-byte enums; these will overflow.
  11KBUILD_CFLAGS += -fno-short-enums
  12
  13# Modules must use either long-calls, or use pic/plt.
  14# Use long-calls for now, it's easier.  And faster.
  15# KBUILD_CFLAGS_MODULE += -fPIC
  16# KBUILD_LDFLAGS_MODULE += -shared
  17KBUILD_CFLAGS_MODULE += -mlong-calls
  18
  19cflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
  20aflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
  21ldflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
  22
  23KBUILD_CFLAGS += $(cflags-y)
  24KBUILD_AFLAGS += $(aflags-y)
  25KBUILD_LDFLAGS += $(ldflags-y)
  26
  27# Thread-info register will be r19.  This value is not configureable;
  28# it is hard-coded in several files.
  29TIR_NAME := r19
  30KBUILD_CFLAGS += -ffixed-$(TIR_NAME) -DTHREADINFO_REG=$(TIR_NAME) -D__linux__
  31KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_NAME)
  32
  33LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
  34libs-y += $(LIBGCC)
  35
  36head-y := arch/hexagon/kernel/head.o
  37
  38core-y += arch/hexagon/kernel/ \
  39        arch/hexagon/mm/ \
  40        arch/hexagon/lib/
  41