2 # (C) Copyright 2002-2006
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 # SPDX-License-Identifier: GPL-2.0+
8 lib-
$(CONFIG_USE_PRIVATE_LIBGCC
) += ashldi3.o ashrdi3.o lshrdi3.o \
9 lib1funcs.o uldivmod.o div0.o \
13 obj-y
+= vectors_m.o crt0.o
14 else ifdef CONFIG_ARM64
17 obj-y
+= vectors.o crt0.o
20 ifndef CONFIG_SPL_BUILD
22 obj-y
+= relocate_64.o
27 obj-
$(CONFIG_CPU_V7M
) += cmd_boot.o
28 obj-
$(CONFIG_OF_LIBFDT
) += bootm-fdt.o
29 obj-
$(CONFIG_CMD_BOOTI
) += bootm.o
30 obj-
$(CONFIG_CMD_BOOTM
) += bootm.o
31 obj-
$(CONFIG_CMD_BOOTZ
) += bootm.o zimage.o
32 obj-
$(CONFIG_SYS_L2_PL310
) += cache-pl310.o
33 obj-
$(CONFIG_USE_ARCH_MEMSET
) += memset.o
34 obj-
$(CONFIG_USE_ARCH_MEMCPY
) += memcpy.o
36 obj-
$(CONFIG_SPL_FRAMEWORK
) += spl.o
37 obj-
$(CONFIG_SPL_FRAMEWORK
) += zimage.o
39 obj-
$(CONFIG_SEMIHOSTING
) += semihosting.o
44 obj-y
+= interrupts_m.o
45 else ifdef CONFIG_ARM64
48 obj-y
+= interrupts_64.o
52 ifndef CONFIG_SYSRESET
63 obj-
$(CONFIG_DEBUG_LL
) += debug.o
65 # For EABI conformant tool chains, provide eabi_compat()
66 ifneq (,$(findstring -mabi
=aapcs-linux
,$(PLATFORM_CPPFLAGS
)))
67 extra-y
+= eabi_compat.o
70 asflags-y
+= -DCONFIG_ARM_ASM_UNIFIED
72 # some files can only build in ARM or THUMB2, not THUMB1
74 ifdef CONFIG_SYS_THUMB_BUILD
75 asflags-
$(CONFIG_HAS_THUMB2
) += -DCONFIG_THUMB2_KERNEL
76 ifndef CONFIG_HAS_THUMB2
78 # for C files, just apend -marm, which will override previous -mthumb*
80 CFLAGS_cache.o
:= -marm
81 CFLAGS_cache-cp15.o
:= -marm
83 # For .S, drop -mthumb* and other thumb-related options.
84 # CFLAGS_REMOVE_* would not have an effet, so AFLAGS_REMOVE_*
85 # was implemented and is used here.
86 # Also, define ${target}_NO_THUMB_BUILD for these two targets
87 # so that the code knows it should not use Thumb.
89 AFLAGS_REMOVE_memset.o
:= -mthumb
-mthumb-interwork
90 AFLAGS_REMOVE_memcpy.o
:= -mthumb
-mthumb-interwork
91 AFLAGS_memset.o
:= -DMEMSET_NO_THUMB_BUILD
92 AFLAGS_memcpy.o
:= -DMEMCPY_NO_THUMB_BUILD
96 # For building EFI apps
97 CFLAGS_
$(EFI_CRT0
) := $(CFLAGS_EFI
)
98 CFLAGS_REMOVE_
$(EFI_CRT0
) := $(CFLAGS_NON_EFI
)
100 CFLAGS_
$(EFI_RELOC
) := $(CFLAGS_EFI
)
101 CFLAGS_REMOVE_
$(EFI_RELOC
) := $(CFLAGS_NON_EFI
)
103 extra-
$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE
) += $(EFI_CRT0
) $(EFI_RELOC
)
104 extra-
$(CONFIG_EFI
) += $(EFI_CRT0
) $(EFI_RELOC
)