2 # (C) Copyright 2002-2006
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 # SPDX-License-Identifier: GPL-2.0+
8 include $(TOPDIR)/config.mk
10 LIB = $(obj)lib$(ARCH).o
11 LIBGCC = $(obj)libgcc.o
25 ifndef CONFIG_SPL_BUILD
27 ifndef CONFIG_SYS_GENERIC_BOARD
32 COBJS-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
33 COBJS-$(CONFIG_CMD_BOOTM) += bootm.o
34 COBJS-$(CONFIG_SYS_L2_PL310) += cache-pl310.o
35 SOBJS-$(CONFIG_USE_ARCH_MEMSET) += memset.o
36 SOBJS-$(CONFIG_USE_ARCH_MEMCPY) += memcpy.o
38 COBJS-$(CONFIG_SPL_FRAMEWORK) += spl.o
41 COBJS-y += interrupts.o
45 COBJS-y += cache-cp15.o
47 SRCS := $(GLSOBJS:.o=.S) $(GLCOBJS:.o=.c) \
48 $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
49 OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
50 LGOBJS := $(addprefix $(obj),$(GLSOBJS)) \
51 $(addprefix $(obj),$(GLCOBJS))
53 # Always build libarm.o
56 # Build private libgcc only when asked for
57 ifdef USE_PRIVATE_LIBGCC
61 # For EABI conformant tool chains, provide eabi_compat()
62 ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
63 TARGETS += $(obj)eabi_compat.o
68 $(LIB): $(obj).depend $(OBJS)
69 $(call cmd_link_o_target, $(OBJS))
71 $(LIBGCC): $(obj).depend $(LGOBJS)
72 $(call cmd_link_o_target, $(LGOBJS))
74 #########################################################################
76 # defines $(obj).depend target
77 include $(SRCTREE)/rules.mk
79 sinclude $(obj).depend
81 #########################################################################