]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - lib_arm/Makefile
imported Freescale specific U-Boot additions for i.MX28,... release L2.6.31_10.08.01
[karo-tx-uboot.git] / lib_arm / Makefile
index 037c475f8bbf26f5adf8ecf936b28708350fcddf..6b1561be980e50b2a17aaec24905efe37253de84 100755 (executable)
 include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(ARCH).a
+LIBGCC = $(obj)libgcc.a
 
-SOBJS  = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o
+GLSOBJS        += _ashldi3.o
+GLSOBJS        += _ashrdi3.o
+GLSOBJS        += _divsi3.o
+GLSOBJS        += _lshrdi3.o
+GLSOBJS        += _modsi3.o
+GLSOBJS        += _udivsi3.o
+GLSOBJS        += _umodsi3.o
 
-COBJS  = armlinux.o board.o \
-         cache.o div0.o
+GLCOBJS        += div0.o
 
-SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+COBJS-y        += board.o
+COBJS-y        += bootm.o
+COBJS-y        += cache.o
+COBJS-y        += interrupts.o
+COBJS-y        += reset.o
+
+SRCS   := $(GLSOBJS:.o=.S) $(GLCOBJS:.o=.c) \
+          $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
+OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
+LGOBJS := $(addprefix $(obj),$(GLSOBJS)) \
+          $(addprefix $(obj),$(GLCOBJS))
+
+# Always build libarm.a
+TARGETS        := $(LIB)
+
+# Build private libgcc only when asked for
+ifdef USE_PRIVATE_LIBGCC
+TARGETS        += $(LIBGCC)
+endif
+
+# For EABI conformant tool chains, provide eabi_compat()
+ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
+TARGETS        += $(obj)eabi_compat.o
+endif
+
+all:   $(TARGETS)
 
 $(LIB):        $(obj).depend $(OBJS)
        $(AR) $(ARFLAGS) $@ $(OBJS)
 
+$(LIBGCC): $(obj).depend $(LGOBJS)
+       $(AR) $(ARFLAGS) $@ $(LGOBJS)
+
 #########################################################################
 
 # defines $(obj).depend target