~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arc/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 #
  3 # Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
  4 #
  5 
  6 KBUILD_DEFCONFIG := haps_hs_smp_defconfig
  7 
  8 ifeq ($(CROSS_COMPILE),)
  9 CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux-)
 10 endif
 11 
 12 cflags-y        += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__
 13 
 14 tune-mcpu-def-$(CONFIG_ISA_ARCOMPACT)   := -mcpu=arc700
 15 tune-mcpu-def-$(CONFIG_ISA_ARCV2)       := -mcpu=hs38
 16 
 17 ifeq ($(CONFIG_ARC_TUNE_MCPU),)
 18 cflags-y                                += $(tune-mcpu-def-y)
 19 else
 20 tune-mcpu                               := $(CONFIG_ARC_TUNE_MCPU)
 21 ifneq ($(call cc-option,$(tune-mcpu)),)
 22 cflags-y                                += $(tune-mcpu)
 23 else
 24 # The flag provided by 'CONFIG_ARC_TUNE_MCPU' option isn't known by this compiler
 25 # (probably the compiler is too old). Use ISA default mcpu flag instead as a safe option.
 26 $(warning ** WARNING ** CONFIG_ARC_TUNE_MCPU flag '$(tune-mcpu)' is unknown, fallback to '$(tune-mcpu-def-y)')
 27 cflags-y                                += $(tune-mcpu-def-y)
 28 endif
 29 endif
 30 
 31 ifdef CONFIG_ARC_CURR_IN_REG
 32 # For a global register definition, make sure it gets passed to every file
 33 # We had a customer reported bug where some code built in kernel was NOT using
 34 # any kernel headers, and missing the global register
 35 # Can't do unconditionally because of recursive include issues
 36 # due to <linux/thread_info.h>
 37 LINUXINCLUDE    +=  -include $(srctree)/arch/arc/include/asm/current.h
 38 cflags-y        += -ffixed-gp
 39 endif
 40 
 41 cflags-y                                += -fsection-anchors
 42 
 43 cflags-$(CONFIG_ARC_HAS_LLSC)           += -mlock
 44 cflags-$(CONFIG_ARC_HAS_SWAPE)          += -mswape
 45 
 46 ifdef CONFIG_ISA_ARCV2
 47 
 48 ifdef CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS
 49 cflags-y                                += -munaligned-access
 50 else
 51 cflags-y                                += -mno-unaligned-access
 52 endif
 53 
 54 ifndef CONFIG_ARC_HAS_LL64
 55 cflags-y                                += -mno-ll64
 56 endif
 57 
 58 ifndef CONFIG_ARC_HAS_DIV_REM
 59 cflags-y                                += -mno-div-rem
 60 endif
 61 
 62 endif
 63 
 64 cfi := $(call as-instr,.cfi_startproc\n.cfi_endproc,-DARC_DW2_UNWIND_AS_CFI)
 65 cflags-$(CONFIG_ARC_DW2_UNWIND)         += -fasynchronous-unwind-tables $(cfi)
 66 
 67 # small data is default for elf32 tool-chain. If not usable, disable it
 68 # This also allows repurposing GP as scratch reg to gcc reg allocator
 69 disable_small_data := y
 70 cflags-$(disable_small_data)            += -mno-sdata
 71 
 72 cflags-$(CONFIG_CPU_BIG_ENDIAN)         += -mbig-endian
 73 ldflags-$(CONFIG_CPU_BIG_ENDIAN)        += -EB
 74 
 75 LIBGCC  = $(shell $(CC) $(cflags-y) --print-libgcc-file-name)
 76 
 77 # Modules with short calls might break for calls into builtin-kernel
 78 KBUILD_CFLAGS_MODULE    += -mlong-calls -mno-millicode
 79 
 80 # Finally dump eveything into kernel build system
 81 KBUILD_CFLAGS   += $(cflags-y)
 82 KBUILD_AFLAGS   += $(KBUILD_CFLAGS)
 83 KBUILD_LDFLAGS  += $(ldflags-y)
 84 
 85 # w/o this dtb won't embed into kernel binary
 86 core-y          += arch/arc/boot/dts/
 87 
 88 core-y                          += arch/arc/plat-sim/
 89 core-$(CONFIG_ARC_PLAT_TB10X)   += arch/arc/plat-tb10x/
 90 core-$(CONFIG_ARC_PLAT_AXS10X)  += arch/arc/plat-axs10x/
 91 core-$(CONFIG_ARC_SOC_HSDK)     += arch/arc/plat-hsdk/
 92 
 93 libs-y          += arch/arc/lib/ $(LIBGCC)
 94 
 95 boot            := arch/arc/boot
 96 
 97 boot_targets := uImage.bin uImage.gz uImage.lzma
 98 
 99 PHONY += $(boot_targets)
100 $(boot_targets): vmlinux
101         $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
102 
103 uimage-default-y                        := uImage.bin
104 uimage-default-$(CONFIG_KERNEL_GZIP)    := uImage.gz
105 uimage-default-$(CONFIG_KERNEL_LZMA)    := uImage.lzma
106 
107 PHONY += uImage
108 uImage: $(uimage-default-y)
109         @ln -sf $< $(boot)/uImage
110         @$(kecho) '  Image $(boot)/uImage is ready'
111 
112 CLEAN_FILES += $(boot)/uImage

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php