| 1 |
|
| 2 |
|
| 3 |
|
| 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- arc-linux-gnu-)
|
| 10 | endif
|
| 11 |
|
| 12 | cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -mswape -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 |
|
| 25 |
|
| 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 |
|
| 33 |
|
| 34 |
|
| 35 |
|
| 36 |
|
| 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 |
|
| 45 | ifdef CONFIG_ISA_ARCV2
|
| 46 |
|
| 47 | ifdef CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS
|
| 48 | cflags-y += -munaligned-access
|
| 49 | else
|
| 50 | cflags-y += -mno-unaligned-access
|
| 51 | endif
|
| 52 |
|
| 53 | ifndef CONFIG_ARC_HAS_LL64
|
| 54 | cflags-y += -mno-ll64
|
| 55 | endif
|
| 56 |
|
| 57 | ifndef CONFIG_ARC_HAS_DIV_REM
|
| 58 | cflags-y += -mno-div-rem
|
| 59 | endif
|
| 60 |
|
| 61 | endif
|
| 62 |
|
| 63 | cfi := $(call as-instr,.cfi_startproc\n.cfi_endproc,-DARC_DW2_UNWIND_AS_CFI)
|
| 64 | cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables $(cfi)
|
| 65 |
|
| 66 |
|
| 67 |
|
| 68 | disable_small_data := y
|
| 69 | cflags-$(disable_small_data) += -mno-sdata
|
| 70 |
|
| 71 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mbig-endian
|
| 72 | ldflags-$(CONFIG_CPU_BIG_ENDIAN) += -EB
|
| 73 |
|
| 74 | LIBGCC = $(shell $(CC) $(cflags-y) --print-libgcc-file-name)
|
| 75 |
|
| 76 |
|
| 77 | KBUILD_CFLAGS_MODULE += -mlong-calls -mno-millicode
|
| 78 |
|
| 79 |
|
| 80 | KBUILD_CFLAGS += $(cflags-y)
|
| 81 | KBUILD_AFLAGS += $(KBUILD_CFLAGS)
|
| 82 | KBUILD_LDFLAGS += $(ldflags-y)
|
| 83 |
|
| 84 | core-y += arch/arc/plat-sim/
|
| 85 | core-$(CONFIG_ARC_PLAT_TB10X) += arch/arc/plat-tb10x/
|
| 86 | core-$(CONFIG_ARC_PLAT_AXS10X) += arch/arc/plat-axs10x/
|
| 87 | core-$(CONFIG_ARC_SOC_HSDK) += arch/arc/plat-hsdk/
|
| 88 |
|
| 89 | libs-y += arch/arc/lib/ $(LIBGCC)
|
| 90 |
|
| 91 | boot := arch/arc/boot
|
| 92 |
|
| 93 | boot_targets := uImage.bin uImage.gz uImage.lzma
|
| 94 |
|
| 95 | PHONY += $(boot_targets)
|
| 96 | $(boot_targets): vmlinux
|
| 97 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
| 98 |
|
| 99 | uimage-default-y := uImage.bin
|
| 100 | uimage-default-$(CONFIG_KERNEL_GZIP) := uImage.gz
|
| 101 | uimage-default-$(CONFIG_KERNEL_LZMA) := uImage.lzma
|
| 102 |
|
| 103 | PHONY += uImage
|
| 104 | uImage: $(uimage-default-y)
|
| 105 | @ln -sf $< $(boot)/uImage
|
| 106 | @$(kecho) ' Image $(boot)/uImage is ready'
|
| 107 |
|
| 108 | CLEAN_FILES += $(boot)/uImage
|