Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging
[oweals/u-boot.git] / arch / sh / lib / Makefile
index f7c6479426d74458108d442baa55a01e313c3adf..256811afd4b7fa2ff329b7866068cd84202ce5a8 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
+LIBGCC = $(obj)libgcc.o
 
 SOBJS-y        +=
+GLSOBJS        += ashiftrt.o
+GLSOBJS        += ashiftlt.o
+GLSOBJS        += lshiftrt.o
+GLSOBJS        += ashldi3.o
+GLSOBJS        += ashrsi3.o
+GLSOBJS        += lshrdi3.o
+GLSOBJS        += movmem.o
 
 COBJS-y        += board.o
 COBJS-y        += bootm.o
@@ -31,12 +39,30 @@ COBJS-y     += time_sh2.o
 else
 COBJS-y        += time.o
 endif
+ifeq ($(CONFIG_CMD_SH_ZIMAGEBOOT),y)
+COBJS-y += zimageboot.o
+endif
 
 SRCS   := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
+LGOBJS := $(addprefix $(obj),$(GLSOBJS)) \
+          $(addprefix $(obj),$(GLCOBJS))
+
+# Always build libsh.o
+TARGETS        := $(LIB)
+
+# Build private libgcc only when asked for
+ifdef USE_PRIVATE_LIBGCC
+TARGETS        += $(LIBGCC)
+endif
+
+all:   $(TARGETS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
+
+$(LIBGCC): $(obj).depend $(LGOBJS)
+       $(call cmd_link_o_target, $(LGOBJS))
 
 #########################################################################