Home | History | Annotate | Download | only in lib
      1 # SPDX-License-Identifier: GPL-2.0+
      2 #
      3 # (C) Copyright 2002-2006
      4 # Wolfgang Denk, DENX Software Engineering, wd (at] denx.de.
      5 
      6 lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o \
      7 				    lib1funcs.o uldivmod.o div0.o \
      8 				    div64.o muldi3.o
      9 
     10 ifdef CONFIG_CPU_V7M
     11 obj-y	+= vectors_m.o crt0.o
     12 else ifdef CONFIG_ARM64
     13 obj-y	+= crt0_64.o
     14 else
     15 obj-y	+= vectors.o crt0.o
     16 endif
     17 
     18 ifdef CONFIG_ARM64
     19 obj-y   += setjmp_aarch64.o
     20 else
     21 obj-y   += setjmp.o
     22 endif
     23 
     24 ifndef CONFIG_SPL_BUILD
     25 ifdef CONFIG_ARM64
     26 obj-y	+= relocate_64.o
     27 else
     28 obj-y	+= relocate.o
     29 endif
     30 
     31 obj-$(CONFIG_CPU_V7M) += cmd_boot.o
     32 obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
     33 obj-$(CONFIG_CMD_BOOTI) += bootm.o image.o
     34 obj-$(CONFIG_CMD_BOOTM) += bootm.o
     35 obj-$(CONFIG_CMD_BOOTZ) += bootm.o zimage.o
     36 obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o
     37 else
     38 obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
     39 obj-$(CONFIG_SPL_FRAMEWORK) += zimage.o
     40 obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
     41 endif
     42 obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMSET) += memset.o
     43 obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMCPY) += memcpy.o
     44 obj-$(CONFIG_SEMIHOSTING) += semihosting.o
     45 
     46 obj-y	+= sections.o
     47 obj-y	+= stack.o
     48 ifdef CONFIG_CPU_V7M
     49 obj-y	+= interrupts_m.o
     50 else ifdef CONFIG_ARM64
     51 obj-$(CONFIG_FSL_LAYERSCAPE) += ccn504.o
     52 ifneq ($(CONFIG_GICV2)$(CONFIG_GICV3),)
     53 obj-y	+= gic_64.o
     54 endif
     55 obj-y	+= interrupts_64.o
     56 else
     57 obj-y	+= interrupts.o
     58 endif
     59 ifndef CONFIG_SYSRESET
     60 obj-y	+= reset.o
     61 endif
     62 
     63 obj-y	+= cache.o
     64 obj-$(CONFIG_SYS_ARM_CACHE_CP15)	+= cache-cp15.o
     65 
     66 obj-y	+= psci-dt.o
     67 
     68 obj-$(CONFIG_DEBUG_LL)	+= debug.o
     69 
     70 # For EABI conformant tool chains, provide eabi_compat()
     71 ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
     72 extra-y	+= eabi_compat.o
     73 endif
     74 
     75 # some files can only build in ARM or THUMB2, not THUMB1
     76 
     77 ifdef CONFIG_$(SPL_)SYS_THUMB_BUILD
     78 asflags-$(CONFIG_HAS_THUMB2) += -DCONFIG_THUMB2_KERNEL
     79 ifndef CONFIG_HAS_THUMB2
     80 
     81 # for C files, just apend -marm, which will override previous -mthumb*
     82 
     83 ifndef CONFIG_ARM64
     84 CFLAGS_cache.o := -marm
     85 CFLAGS_cache-cp15.o := -marm
     86 endif
     87 
     88 # For .S, drop -mthumb* and other thumb-related options.
     89 # CFLAGS_REMOVE_* would not have an effet, so AFLAGS_REMOVE_*
     90 # was implemented and is used here.
     91 # Also, define ${target}_NO_THUMB_BUILD for these two targets
     92 # so that the code knows it should not use Thumb.
     93 
     94 AFLAGS_REMOVE_memset.o := -mthumb -mthumb-interwork
     95 AFLAGS_REMOVE_memcpy.o := -mthumb -mthumb-interwork
     96 AFLAGS_memset.o := -DMEMSET_NO_THUMB_BUILD
     97 AFLAGS_memcpy.o := -DMEMCPY_NO_THUMB_BUILD
     98 endif
     99 endif
    100 
    101 # For building EFI apps
    102 CFLAGS_$(EFI_CRT0) := $(CFLAGS_EFI)
    103 CFLAGS_REMOVE_$(EFI_CRT0) := $(CFLAGS_NON_EFI)
    104 
    105 CFLAGS_$(EFI_RELOC) := $(CFLAGS_EFI)
    106 CFLAGS_REMOVE_$(EFI_RELOC) := $(CFLAGS_NON_EFI)
    107 
    108 extra-$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)
    109 extra-$(CONFIG_CMD_BOOTEFI_SELFTEST) += $(EFI_CRT0) $(EFI_RELOC)
    110 extra-$(CONFIG_EFI) += $(EFI_CRT0) $(EFI_RELOC)
    111